腾讯云智聆口语评测录音评测说明-教育服务解决方案
开始录音
创建对象 TencentSOE 后,在 success()内使用 start 方法进行录音评测。使用 start 方法后 SDK 会开始录音并调用评测服务,调用成功会在 success 中输出评测结果;调用失败会在 error 中返回报错信息;录音超过60s 会调用 complete 停止录音。注意建议用户使用子账号密钥 + 环境变量的方式调用 SDK,提高 SDK 使用的安全性。为子账号授权时,请遵循 最小权限指引原则,防止泄漏其他资源。如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。css 部分:
javascript 部分:
const startbtn = document.querySelector("#start") //获取button
let recorder = new TencentSOE({ //初始化 SecretId: 'your secretid', // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 SecretKey: 'your secretkey', // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 success() { startbtn.onclick = function () { //点击触发 recorder.start({ //使用start方法开始录音 RefText: 'about', // 参数 error: function (err) { console.log(err); }, complete: function () { console.log('录音超过1分钟未停止触发此回调') }, 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({ RefText: 'about', error: function(err) { console.log(err); }, complete: function() { console.log('录音超过1分钟未停止触发此回调') }, success: function(res) { console.log(res); }, quiet: function(res) { console.log(res); }, volume: function(res) { console.log(res); } });}
停止录音
创建对象 TencentSOE 后,在 success()内使用 stop 方法进行录音评测。使用 stop 方法后 SDK 会停止录音,在 success 中返回最终评测结果和音频数据;调用失败后会在 error 中返回报错信息。stop 方法需要在 start 后进行调用。css 部分:
"result">
javascript 部分:
const stopbtn = document.querySelector("#stop") //获取buttonconst result = document.querySelector("#result")
let recorder = new TencentSOE({ // 初始化 SecretId: 'your secretid', // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 SecretKey: 'your secretkey', // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 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); } }); } }})
录音回放
使用 stop 方法后根据返回的 blob 数据,生成音频 url。使用 audio 标签进行播放。css 部分:
"audio">
javascript 部分:
const listenBtn = document.querySelector("#listen")
let isPlaying = false;listenBtn.onclick = function () { const ele = document.getElementById('audio'); if (!audioUrl.length || !ele) { alert('当前没有录音音频可播放'); return; } if (isPlaying) { ele.currentTime = 0; ele.pause(); } else { ele.setAttribute('src', audioUrl); ele.play(); }}
重置参数
创建对象 TencentSOE 后,在 success()内使用 reset 方法进行重置参数。同一页面不同的 tab 可以不通过 TencentSOE 重复初始化,使用 reset 改变评测参数。
let recorder = new TencentSOE({ SecretId: 'your secretid', // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 SecretKey: 'your secretkey', // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 success() { recorder.reset({ WorkMode: 1 }); }})
解除麦克风占用
使用 TencentSOE 创建对象后,调用destroy方法,即可解除麦克风占用。
// 使用场景:在停止录音后需要解除麦克风占用let recorder = new TencentSOE({ success() { recorder.stop({ success(res) { // 输出测评结果 console.log(res); //打印结果 recorder.destroy(); //解除麦克风占用 }, }); }})
参数说明
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: 音素结构文本,参考音素标注 |
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论