有奖捉虫:云通信与企业服务文档专题,速来> HOT

前提条件

1. 完成 集成 SDK
2. 完成 密钥 申请。

SDK 初始化

固定密钥接入

创建 TencentSOE 对象,使用 SecretId,SecretKey 进行签名认证。该格式适用于前端调试,若使用此格式,请避免泄露密钥。
TencentSOE 获取的对象是唯一的,不同的界面需要重新创建。同一页面可以使用 reset 修改评测参数。
注意:
实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密。
代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见 云 API 密钥安全方案推荐
密钥可前往 官网控制台 进行获取。
let recorder = new TencentSOE({ SecretId: 'your secretid', SecretKey: 'your secretkey', success() { recorder.start({}); }, error(err) { console.log(err); } });

临时密钥接入

使用固定密钥可能存在被盗取的风险,线上环境推荐在 服务端使用临时访问凭证。示例参考
let recorder = new TencentSOE({ getAuthorization(callback) { let url = ''; // 服务端获取临时密钥地址 $.get(url, function (data) { callback({ Token: data.Credentials.Token, TmpSecretId: data.Credentials.TmpSecretId, TmpSecretKey: data.Credentials.TmpSecretKey, ExpiredTime: data.ExpiredTime }); }); }, success() { recorder.start({}); }, error(err) { console.log(err); } });

服务端评测接入

Web SDK 通过发送 POST 请求, Content-Type 类型为 application/json。调用 服务端评测 进行评测,将返回结果回调。示例参考
let recorder = new TencentSOE({ TransInitUrl: '', // 服务端获取评测结果地址 success() { recorder.start({}); }, error(err) { console.log(err); } });

上传本地文件

创建对象 TencentSOE 后,在 success()内使用 uploadLocalFile 方法进行录音评测。上传本地文件,SDK 内部会调用评测服务,获取结果。评测结果参考:
css 部分:
<button id="upload">upload</button>
javascript 部分:
uploadbtn.onclick = function () {
let recorder = new TencentSOE({
// SDK 初始化
success() {
recorder.uploadLocalFile({
RefText: 'about',
load() {
console.log('文件加载完成');
},
success(res) {
console.log(res); // 输出测评结果
result.innerHTML = JSON.stringify(res);
},
error(err) {
console.log('err', err);
}
});
}
})
}

重置参数

创建对象 TencentSOE 后,在 success()内使用 reset 方法进行重置参数。同一页面不同的 tab 可以不通过 TencentSOE 重复初始化,使用 reset 改变评测参数。
let recorder = new TencentSOE({
// SDK 初始化
success() {
recorder.reset({
WorkMode: 1
});
}
})

参数说明

TencentSOE 说明

参数
类型
是否必填
默认值
说明
SecretId
String
用户 SecretId
SecretKey
String
用户 SecretKey
getAuthorization
function
获取临时密钥接口,参考getAuthorization 接口说明
TransInitUrl
String
发音数据传输附带初始化接口地址,参考TransInitUrl 接口说明
success
function
创建成功回调
error
function
创建失败回调
WorkMode
Integer
0
语音输入模式,0流式分片,1非流式一次性评估。参考语音输入模式介绍
EvalMode
Integer
0
评测模式
0:单词模式
1:句子模式
2:段落模式
3:自由说模式
4:单词音素纠错模式
5:情景评测模式
6:句子多分支评测模式
7:单词实时评测模式
8:拼音评测模式
ScoreCoeff
Float
3.5
评价苛刻指数,取值为[1.0 - 4.0]范围内的浮点数
用于平滑不同年龄段的分数,1.0为小年龄段,4.0为最高年龄段。参考苛刻指数介绍
SoeAppId
String
业务应用 ID,参考业务应用 ID 介绍
ServerType
Integer
0
评估语言,0:英文,1:中文。参考评测模式介绍
TextMode
Integer
0
输入文本模式,0: 普通文本,1: 音素结构文本,参考音素标注
SilentDuration
Float
5000
触发静音回调所需要检测的连续的时间;单位为毫秒
SilentVolume
Float
20
低于该值,则认为是静音。取值为1 - 100
cosBucketUrl
String
音频存储路径,将音频存储到 COS 桶中(0.2.2及以上版本支持)。使用参考音频存储路径

uploadLocalFile(options) 说明

参数
类型
是否必填
默认值
说明
RefText
String
被评估语音对应的文本,参考评估文本介绍
Keyword
String

reset(options)说明

参数
类型
是否必填
默认值
说明
WorkMode
Integer
0
语音输入模式,0流式分片,1非流式一次性评估。参考语音输入模式介绍
EvalMode
Integer
0
评测模式
0:单词模式
1:句子模式
2:段落模式
3:自由说模式
4:单词音素纠错模式
5:情景评测模式
6:句子多分支评测模式
7:单词实时评测模式
8:拼音评测模式
ScoreCoeff
Float
3.5
评价苛刻指数,取值为[1.0 - 4.0]范围内的浮点数
用于平滑不同年龄段的分数,1.0为小年龄段,4.0为最高年龄段。参考苛刻指数介绍
SoeAppId
String
业务应用 ID,参考业务应用 ID 介绍
ServerType
Integer
0
评估语言,0:英文,1:中文。参考评测模式介绍
TextMode
Integer
0
输入文本模式,0:普通文本,1:音素结构文本,参考音素标注

error 错误码说明

code
错误说明
10000
参数格式错误
10001
当前浏览器不支持录音功能
10002
未开启麦克风访问权限
10003
未提供发音评估初始化接口
10004
未提供发音数据传输接口
10005
未提供测评文本
10006
上传文件必须是 MP3 类型
10007
未引入微信 JS-SDK
10008
用户拒绝用户拒绝授权录音
10009
上传文件必须是 MP3 类型
10010
网络异常
10011
TransInitUrl 接口不正确
10012
MediaUrl 接口不正确
10013
录音失败,请重新录音
10020
接口错误,具体看返回信息