微信小程序后台配置添加微信同声传译插件不再详述,具体可自行百度。
app.json添加这段代码:
"plugins": {
"WechatSI": {
"version": "0.2.2",
"provider": "wx069ba97219f66d99"
}
}
util.js中添加
var plugin = requirePlugin("WechatSI")
var innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.onError((res) => {
// 播放音频失败的回调
})
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();
}
module.exports = {
playTTS: playTTS,
stopTTS: stopTTS,
}
新建页面,在新页面的js里面添加这段代码
// Page外
var pageSelf = undefined;
var plugin = requirePlugin("WechatSI")
let manager = plugin.getRecordRecognitionManager()
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
manager.onRecognize = function (res) {
// console.log('manager.onRecognize')
// console.log(res)
// wx.showToast({
// title: res.result,
// })
// cons.log("current result", res.result)
}
manager.onStop = function (res) {
console.log('manager.onStop')
console.log(res)//语音识别信息打印
wx.showToast({
title: res.result,
})
// UTIL.log("record file path", res.tempFilePath)
// UTIL.log("result", res.result)
//res.result is the asr result, change the follow step to your source
//NLI.process(res.result, pageSelf);
}
manager.onError = function (res) {
console.log('manager.onError')
console.log(res)//报错信息打印
wx.showToast({
title: res.msg,
})
// UTIL.log("error msg", res.msg)
}
},
//添加两个方法
touchdown_plugin: function() {
var _this = this
// UTIL.stopTTS();
manager.start({
duration: 30000,
lang: "zh_CN"
})
},
//手指松开
touchup_plugin: function() {
manager.stop();
wx.showToast({
title: '正在识别……',
icon: 'loading',
duration: 2000
})
},
在新页面的wxml里面添加这段代码
<button type="primary" style="border-radius: 20px;" class="btn-style" bindtouchstart="touchdown_plugin" bindtouchend="touchup_plugin">按下录音,松开结束</button>