app.json、引用插件
"plugins": {
"QCloudAIVoice": {
"version": "1.1.1",
"provider": "wx3e17776051baf153"
}
},
js
var plugin = requirePlugin("QCloudAIVoice")
plugin.setQCloudSecret("id***", "app**", "key*");
const recorderManager = wx.getRecorderManager()
recorderManager.onStart(() => {
console.log('recorder start')
})
recorderManager.onPause(() => {
console.log('recorder pause')
})
const options = {
duration: 60000,
sampleRate: 16000,
numberOfChannels: 1,
encodeBitRate: 48000,
format: 'mp3',
frameSize: 50
}
reStart(e) {
console.log("录音开始");
recorderManager.start(options);
},
reEnd() {
var _this = this;
console.log("录音结束");
recorderManager.onStop((res) => {
console.log('recorder stop');
});
recorderManager.onFrameRecorded((res) => {
console.log('recorder onFrameRecorded');
const { frameBuffer } = res
if (res.isLastFrame) {
const buf = wx.arrayBufferToBase64(frameBuffer)
plugin.sentenceRecognition({
engSerViceType: '16k', //引擎类型
sourceType: 1, //1:语音数据
voiceFormat: 'mp3',
url: '',
data: buf,
dataLen: frameBuffer.byteLength,
projectId: 0,
success: function (data) {
if (!data.result){
wx.showToast({
title: "请说话,未识别到语音",
icon: 'none'
});
return;
}
_this.setData({
recog: data.result,
animationStatus: false
})
console.log('sentenceRecognition succ:');
},
fail: function (err) {
console.log('sentenceRecognition error:', err)
}
})
}
})
recorderManager.stop();
},
详情效果可参考小程序: