TencentCloud/tencentcloud-speech-sdk-js
Fork: 14 Star: 41 (更新于 1970-01-01 00:00:00)
license: 暂无
Language: JavaScript .
最后发布版本: v1.0.5 ( 2022-05-06 15:37:32)
简介
欢迎使用腾讯云语音SDK,腾讯云语音SDK为开发者提供了访问腾讯云语音识别、语音合成等语音服务的配套开发工具,简化腾讯云语音服务的接入流程。
本项目是腾讯云语音SDK的JS语言版本。
浏览器兼容性问题
1、sdk内置录音采用 MediaDevices接口,不兼容ie浏览器、夸克浏览器和uc浏览器,其他浏览器兼容性具体文档可参考 https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices
2、目前经验证支持sdk的手机型号、浏览器(持续更新中~)
手机型号 | 手机版本 | 浏览器 | 浏览器版本 |
---|---|---|---|
小米8 | MIUI 12.0.3 (Android版本 10) | 小米浏览器 | V13.8.12 |
chrome浏览器 | chrome 78.0.3904.96 | ||
QQ浏览器 | 11.2.1.1506 | ||
小米 MIX2 | MIUI 12.0.1 (Android版本 9) | 小米浏览器 | V13.7.16 |
chrome浏览器 | chrome 78.0.3904.96 | ||
小米6 | (Android版本 8) | 小米浏览器 | V13.8.12 |
chrome浏览器 | chrome V81.0.4044.117 | ||
QQ浏览器 | V11.2.0.0508 | ||
火狐浏览器 | V84.1.4 | ||
OPPO R11 Plus | (Android版本 9) | 自带浏览器 | V10.7.16.2_a088588_210118 |
chrome浏览器 | V78.0.3904.96 | ||
QQ浏览器 | V11.2.0.0504 | ||
火狐浏览器 | V85.1.0 | ||
ViVo X23 | (Android版本 8.0.1) | 自带浏览器 | V8.9.14.9 |
chrome浏览器 | V70.0.3538.110 | ||
QQ浏览器 | V11.2.0.0504 | ||
火狐浏览器 | V85.1.0 | ||
三星SM-G955 | (Android版本 9) | 自带浏览器 | V13.2.1.70 |
chrome浏览器 | V81.0.4044.117 | ||
QQ浏览器 | V11.0.8.8812 LAB | ||
火狐浏览器 | V84.1.4 | ||
iPhone8 | iOS 14.3 | Safari | |
chrome浏览器 | 87.0.4280.77 | ||
QQ浏览器 | 11.2.2.4684 | ||
UC 浏览器 | V13.2.3.1428 | ||
IPhone XS Max | ios 14.2 | safari | |
IPhone 8 | ios 13.3.1 | safari | |
IPhone 7 Plus | ios 13.6 | safari | |
IPhone 12 | ios 14.3 | chrome浏览器 | V87.0.4280.77 |
3、目前经验证不支持sdk的手机型号、浏览器(持续更新中~)
手机型号 | 手机版本 | 浏览器 | 浏览器版本 |
---|---|---|---|
小米8 | MIUI 12.0.3 (Android版本 10) | UC浏览器 | V13.2.3.1103 |
小米 MIX2 | MIUI 12.0.1 (Android版本 9) | QQ浏览器 | 11.2.1.1506 |
UC浏览器 | V13.2.3.1103 | ||
IPhone XS Max | ios 14.2 | chrome浏览器 | V83.0.4103.88 |
QQ浏览器 | V11.1.5.4664 | ||
火狐浏览器 | V30.0 | ||
IPhone 8 | ios 13.3.1 | chrome浏览器 | V87.0.4280.77 |
QQ浏览器 | V10.6.3.4472 | ||
火狐浏览器 | V30.0 | ||
IPhone 7 Plus | ios 13.6 | chrome浏览器 | V87.0.4280.77 |
QQ浏览器 | V11.2.2.4684 | ||
火狐浏览器 | V30.0 |
注意:在个别手机版本上也会存在兼容性问题:
1)ios16.2不支持getUserMedia录音api;
2)微信浏览器使用录音时,有版本要求 ios14.3+,6.5+(微信版本);
依赖环境
- 使用相关产品前需要在腾讯云控制台已开通相关语音产品。
- 在腾讯云控制台访问管理页面获取 SecretID 和 SecretKey 。
- 在腾讯云控制台账号信息页面获取AppId。
- 将获取的参数填入examples/config.js中
注意:
1)SecretID 和 SecretKey 作为敏感信息,不建议直接放在前端代码里运行,可以通过接口服务获取,同时建议采取临时密钥方案,具体可参考 临时身份凭证
2)将获取到的 tmpSecretId、tmpSecretkey 和 Token 依次作为参数 secretid、secretkey 和 token传入
获取demo安装 项目启动
- git clone https://github.com/TencentCloud/tencentcloud-speech-sdk-js.git
- cd tencentcloud-speech-sdk-js
- 执行 npm install 添加依赖包
- 执行 npm run dev 访问 http://localhost:3000/examples/index.html 等各html文件可以看到本地运行demo,获取实时识别结果 服务端项目部署引用参考 sdk调用方式
sdk 调用方式
- 参考demo 引入examples/config.js、examples/asrauthentication.js和examples/speechrecognizer.js,需设置用户的SecretID,SecretKey 和 AppId。
- 简单版(使用内置录音)
const webAudioSpeechRecognizer = new WebAudioSpeechRecognizer();
WebAudioSpeechRecognizer 类,提供 start()、stop()和获取识别结果事件,具体调用参考示例以及examples 3. 进阶版(自定义数据源)
const speechRecognizer = new SpeechRecognizer();
SpeechRecognizer类,提供 start()、stop()、write()方法和获取识别结果事件,具体调用参考示例以及examples
除此之外,sdk 也提供了 WebRecorder类,可以获取采集到的浏览器数据(目前内置音频只能获取到16KHz的音频)。
WebRecorder类 提供start()、stop()方法、OnReceivedData()和OnError()事件。
参数特别说明
- 传参说明
因为内置WebRecorder采样16k的数据,所以参数 engine_model_type 需要选择16k的引擎,为 '16k_zh',其他参数具体可见官网api 文档 https://cloud.tencent.com/document/product/1093/48982 - examples/asrauthentication.js 为鉴权函数,如需自己鉴权,直接覆盖就可
详细说明及示例
示例写法采用es6写法,若要兼容低版本浏览器,需要按照ES5语法书写。
- WebRecorder 类,采集浏览器音频数据
// 实例化类
const recorder = new WebRecorder();
// 获取采集到的音频数据
recorder.OnReceivedData = (res) => {
console.log(res);
};
// 采集音频出错
recorder.OnError() = (err) => {
console.log(err)
}
// 开始录音
recorder.start();
// 结束录音
recorder.stop();
- SpeechRecognizer 类
// 实例化类
const speechRecognizer = new SpeechRecognizer(params);
if (// 可以开始识别了) { // 此处需要判断是否建立连接成功,可在 OnRecognitionStart 回调中加标识判断
// 发送数据 (此过程应该是一个连续的过程)
speechRecognizer.write(data);
}
// 开始识别(此时连接已经建立)
speechRecognizer.OnRecognitionStart = (res) => {
console.log('开始识别', res)
}
// 一句话开始
speechRecognizer.OnSentenceBegin = (res) => {
console.log('一句话开始', res)
}
// 识别变化时
speechRecognizer.OnRecognitionResultChange = (res) => {
console.log('识别变化时', res)
}
// 一句话结束
speechRecognizer.OnSentenceEnd = (res) => {
console.log('一句话结束', res)
}
// 识别结束
speechRecognizer.OnRecognitionComplete = (res) => {
console.log('识别结束', res)
}
// 识别错误
speechRecognizer.OnError = (res) => {
console.log('识别失败', res)
}
// 建立websocket连接
speechRecognizer.start();
// 断开连接
if (连接已经建立...) {
speechRecognizer.stop();
}
- WebAudioSpeechRecognizer 类
// 实例化类
const webAudioSpeechRecognizer = new WebAudioSpeechRecognizer(params);
// 开始识别(此时连接已经建立)
webAudioSpeechRecognizer.OnRecognitionStart = (res) => {
console.log('开始识别', res)
}
// 一句话开始
webAudioSpeechRecognizer.OnSentenceBegin = (res) => {
console.log('一句话开始', res)
}
// 识别变化时
webAudioSpeechRecognizer.OnRecognitionResultChange = (res) => {
console.log('识别变化时', res)
}
// 一句话结束
webAudioSpeechRecognizer.OnSentenceEnd = (res) => {
console.log('一句话结束', res)
}
// 识别结束
webAudioSpeechRecognizer.OnRecognitionComplete = (res) => {
console.log('识别结束', res)
}
// 识别错误
webAudioSpeechRecognizer.OnError = (res) => {
console.log('识别失败', res)
}
// 建立录音同时建立websocket连接
webAudioSpeechRecognizer.start();
// 断开连接
if (连接已经建立...) {
webAudioSpeechRecognizer.stop();
}
具体参见 examples 目录,该目录下包含各语音服务的示例代码。
最近版本更新:(数据更新于 1970-01-01 00:00:00)
2022-05-06 15:37:32 v1.0.5
2022-01-19 16:20:37 v1.0.4
2021-03-09 17:22:25 v1.0.3
2021-03-09 15:11:01 v1.0.2
2021-01-18 16:00:20 v1.0.1
TencentCloud/tencentcloud-speech-sdk-js同语言 JavaScript最近更新仓库
2024-12-22 13:19:55 gethomepage/homepage
2024-12-22 00:44:14 gorhill/uBlock
2024-12-21 12:14:02 layui/layui
2024-12-21 03:44:01 emberjs/ember.js
2024-12-20 02:57:09 nodejs/node
2024-12-19 17:54:54 MHSanaei/3x-ui