Only the Chinese version of this page is provided currently. The English version will be provided soon.
Help & Documentation>口语评测(基础版)

录音评测说明

Last updated: 2026-01-16 17:21:52

前提条件

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 后,new TencentSOE 时会授权打开麦克风,使用 start 方法后 SDK 会调用评测服务,调用成功会在 success 中输出评测结果;调用失败会在 error 中返回报错信息。
let recorder = new TencentSOE({
SilentDuration:5000,
SilentVolume:20,
success() {
recorder.start({ //使用start方法开始录音
RefText: 'about', // 参数
error: function (err) {
console.log(err);
},
success: function (res) {
console.log(res);
result.innerHTML = JSON.stringify(res); //展示结果
}
});
}
})

静音检测

在 start 中使用 quiet 检测用户是否连续处于静音状态,使用 volume 检测当前音量。
let recorder = new TencentSOE({
SilentDuration:5000,
SilentVolume:20,
success() {
recorder.start({
quiet: function(res) {
console.log(res);
},
volume: function(res) {
console.log(res);
}
});
}


停止录音

创建对象 TencentSOE 后,在 success()内使用 stop 方法进行录音评测。使用 stop 方法后 SDK 会停止录音,在 success 中返回最终评测结果和音频数据;调用失败后会在 error 中返回报错信息。stop 方法需要在 start 后进行调用。
css 部分:
<button id="stop">stop</button>
<span id="result"></span>
javascript 部分:
const stopbtn = document.querySelector("#stop") //获取button
const result = document.querySelector("#result")

let recorder = new TencentSOE({ // 初始化
success() {
stopbtn.onclick = function () {
recorder.stop({
success(res) {
// 输出测评结果
console.log(res); //打印结果
result.innerHTML = JSON.stringify(res); //展示结果
const audioUrl = res.blob ? URL.createObjectURL(res.blob) : ''; //输出音频url
},
error(err) {
console.log(err);
}
});
}
}
})

重置参数

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

解除麦克风占用

使用 TencentSOE 创建对象后,调用 destroy 方法,即可解除麦克风占用。
// 使用场景:在停止录音后需要解除麦克风占用
let recorder = new TencentSOE({
success() {
recorder.stop({
success(res) {
// 输出测评结果
console.log(res); //打印结果
recorder.destroy(); //解除麦克风占用
},
});
}
})

参数说明

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 对象存储使用。

start(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
接口错误,具体看返回信息