腾讯云智聆口语评测录音评测说明-教育服务解决方案

前提条件

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折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

发表评论