微信小程序后台配置添加微信同声传译插件不再详述,具体可自行百度。
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>













