语音功能
# 小程序开发
# 添加 “微信同声传译” 插件
util文件夹下util.js
/**
* 语音功能模块
* 开发者登录小程序公众平台后台管理,【设置】→【第三方设置】→【添加插件】→输入“同声传译”进行添加
*/
const plugin = requirePlugin("WechatSI")
const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.onError((res) => {
// 播放音频失败的回调s
})
function playTTS(text) {
//need to add WXAPP plug-in unit: WechatSI
plugin.textToSpeech({
lang: "zh_CN",
tts: true,
content: text,
success: function (res) {
log("succ tts", res.filename)
innerAudioContext.src = res.filename;
innerAudioContext.play()
},
fail: function (res) {
log("fail tts", res)
}
})
}
function stopTTS() {
innerAudioContext.stop();
}
# 语音插件使用
<view class="gif-box">
<view class="gif-box yuan-box" bindlongtap="longTap" bindtouchstart="touchStart" bindtouchend="touchEnd">
<view class="line_01"></view>
<view class="line_02"></view>
<view class="line_03"></view>
<view class="line_04"></view>
<view class="line_05"></view>
</view>
</view>
// 语音功能
const plugin = requirePlugin("WechatSI");
const manager = plugin.getRecordRecognitionManager();
Page({
data: {
hint: '请按下说话!', //语音提示文字
showChuShiY: true,
showLoader: false,
},
onLoad() {
},
// 触发长按事件
touchStart(e) {
// console.log('触发长按')
let _that = this
_that.setData({
showLoader: true,
hint: '请说,我在听',
})
manager.start({
duration: 30000, //最长录音时间,单位/毫秒
lang: "zh_CN" //中文
})
},
// 长按事件过程
longTap(e) {
// console.log('长按开始')
},
// 长按松开事件
touchEnd(e) {
let _that = this
// console.log('松开')
clearInterval(this.interval)
// 停止识别
manager.stop()
},
onShow() {
// 语音功能---1、有新的识别内容返回调用
manager.onRecognize = (res) => {
// console.log('语音功能开始')
}
// 语音功能----2、识别结束结果
manager.onStop = (res) => {
// console.log('语音功能开始-----',res.result)
}
// 语音功能----3、识别错误信息
manager.onError = (res) => {
if (res.retcode == -30001) {
// console.log('30001---录音接口出错---没有授权录音请清空缓存重新登录授权');
}
}
}
})
# 参数
通过获取全局唯一的语音识别管理器recordRecoManager实现 。
recordRecoManager 对象的方法列表:
方法 | 参数 | 说明 |
---|---|---|
start | options | 开始识别 |
stop | 结束识别 | |
onStart | callback | 正常开始录音识别时会调用此事件 |
onRecognize | callback | 有新的识别内容返回,则会调用此事件 |
onStop | callback | 识别结束事件 |
onError | callback | 识别错误事件 |
更多代码详情: 微信同声传译 (opens new window)
上次更新: 2023/7/21 09:43:31