腾讯云智聆口语评测录音评测说明-教育服务解决方案
前提条件
1. 完成 集成 SDK。2. 完成 密钥 申请。
设置标签页
“pages/index/index.wxml”
// 设置标签页
SDK 初始化
在”pages/index/index.js”中引入 SDK。
let plugin = requirePlugin("myPlugin");let manager = null;
设置生命周期回调函数
参考 微信开发者文档,设置生命周期回调函数 onShow。选择一种密钥接入方式。
Page({ data: { resps: [], btnText: '长按录制', }, onShow: function() { // Do something when page show. },})
固定密钥接入
创建 getSoeRecorderManager 对象,使用 SecretId,SecretKey 进行签名认证。固定密钥适用于前端调试,若使用此格式,请避免泄露密钥。getSoeRecorderManager 获取的对象是唯一的,不同的界面需要重新创建。注意:建议用户使用子账号密钥 + 环境变量的方式调用 SDK,提高 SDK 使用的安全性。为子账号授权时,请遵循 最小权限指引,防止泄漏其他资源。如果您一定要使用永久密钥,建议遵循最小权限指引 对永久密钥的权限范围进行限制。
manager = plugin.getSoeRecorderManager({ SecretId: 'your secretid', // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140 SecretKey: 'your secretkey', // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140});
临时密钥接入
使用固定密钥会存在安全问题,需要创建 getSoeRecorderManager 对象,线上环境需要在 服务端获取临时授权凭证 。调用服务端示例参考:
manager = plugin.getSoeRecorderManager({ getAuthorization: function (callback) { wx.request({ url: 'https://example.com/server/getTmpIdAndKey', //服务端地址 method: 'POST', data: {}, success: data => { callback({ Token: data.Credentials.Token, TmpSecretId: data.Credentials.TmpSecretId, TmpSecretKey: data.Credentials.TmpSecretKey }) } }); }});
临时密钥接入(微信云开发)
使用微信云开发进行接入。需要创建 getSoeRecorderManager 对象,完成 微信云开发相关内容,调用云函数示例参考:
if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力 。。')} else { wx.cloud.init({ traceUser: true, })}manager = plugin.getSoeRecorderManager({ getAuthorization: function (callback) { wx.cloud.callFunction({ name: 'getAuthorization', data: {}, success: data => { console.log('test:', data) callback({ Token: data.result.Credentials.Token, TmpSecretId: data.result.Credentials.TmpSecretId, TmpSecretKey: data.result.Credentials.TmpSecretKey }) } }) }})
SDK 使用方法
设置监听函数
在onShow里面设置监听函数,录音方法参考 RecorderManager。
// 开始录音manager.onStart(() => { this.setData({ resps: [], btnText: '录制中' })})
//停止录音manager.onStop((res) => { console.log(res.tempFilePath); //音频数据 this.setData({ btnText: '长按录制' })})
// 回调结果manager.onResponse((res) => { console.log(res)})
// 最终结果manager.onSuccess((res) => { console.log(res)});
// 失败回调manager.onError((res) => { console.log(res)})
设置评测参数
在 start 函数内设置评测参数,参数描述参考 start(options)说明。
//设置请求参数并进行录音评测manager.start({ content: 'about'})
使用 stop 函数停止评测
//停止录音manager.stop()
集成使用
“pages/index/index.wxml”
// 设置标签页
“pages/index/index.js”
let manager = null;let plugin = requirePlugin("myPlugin");// 设置生命周期回调函数Page({ data: { resps: [], btnText: '长按录制', }, onShow: function () { // 设置初始化初始化,具体参考https://cloud.tencent.com/document/product/884/84111#434bdd99-20df-4763-9a51-00cf0b6e46dc if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力 。。') } else { wx.cloud.init({ traceUser: true, }) } manager = plugin.getSoeRecorderManager({ getAuthorization: function (callback) { wx.cloud.callFunction({ name: 'getAuthorization', data: {}, success: data => { console.log('test:', data) callback({ Token: data.result.Credentials.Token, TmpSecretId: data.result.Credentials.TmpSecretId, TmpSecretKey: data.result.Credentials.TmpSecretKey }) } }) } })
//设置监听函数 manager.onStart(() => { // 改变btnText的值,提示录音状态 this.setData({ resps: [], btnText: '录制中' }) })
manager.onStop((res) => { console.log(res.tempFilePath); //音频数据 this.setData({ btnText: '长按录制' }) })
// 回调结果 manager.onResponse((res) => { console.log(res) }) // 最终结果 manager.onSuccess((res) => { console.log(res) });
manager.onError((res) => { console.log(res) }) }, // 对应pages/index/index.wxml中的ontouchstart,触摸开始评测 ontouchstart: function () { console.log('ontouchstart'); manager.start({ content: "about", }) }, // 对应pages/index/index.wxml中的ontouchend,停止触摸结束评测 ontouchend: function () { console.log('ontouchEnd'); manager.stop() },})
参数说明
getSoeRecorderManager 说明
参数 | 类型 | 是否必填 | 默认值 | 说明 |
SecretId | String | 否 | 无 | 用户 SecretId |
SecretKey | String | 否 | 无 | 用户 SecretKey |
getAuthorization | function | 否 | 无 | 获取临时密钥接口,参考getAuthorization 接口说明 |
start(options) 说明
属性 | 类型 | 必填 | 默认值 | 说明 |
content | String | 是 | 无 | 被评估语音对应的文本,对应 API 文档 RefText 字段。参考评估文本介绍 |
evalMode | Number | 否 | 0 | 评测模式0:单词模式 1:句子模式 2:段落模式 3:自由说模式 4:单词音素纠错模式 5:情景评测模式 6:句子多分支评测模式 7:单词实时评测模式 8:拼音评测模式参考评测模式介绍 |
duration | Number | 否 | 60000 | 指定录音的时长,单位 ms,最大为300000(需要使用段落模式或自由说模式),在到达 duration 后会自动停止录音。 |
scoreCoeff | Number | 否 | 1.5 | 评价苛刻指数,[1.0 – 4.0] 范围内的浮点数,用于引擎评分的严格程度。参考苛刻指数介绍 |
serverType | Number | 否 | 0 | 评估语言,0:英文,1:中文。参考评测模式介绍 |
textMode | Number | 否 | 0 | 输入文本模式,0:普通文本,1:音素结构文本,参考音素标注 |
soeAppId | String | 否 | 无 | 业务应用 ID,参考业务应用 ID 介绍 |
sentenceInfiEnabled | Number | 否 | 0 | 输出断句中间结果标识(需要使用1.2.16及以上版本才可以使用该字段)0:不输出,1:输出通过设置该参数可以在评估过程中的分片传输请求中,返回已经评估断句的中间结果,中间结果可用于客户端 UI 更新,输出结果为 TransmitOralProcess 请求返回结果 SentenceInfoSet 字段 |
keyword | String | 否 | 无 | 参考主题词和关键词 |
cosBuketUrl | String | 否 | 无 | 音频存储路径,将音频存储到 COS 桶中(1.2.24及以上版本支持)。使用参考音频存储路径 |
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论