小程序实时语音识别
说到搜索功能,常见的有:图片搜索,语音搜索,文字搜索(模糊、精准)
今天我们聊聊如何在微信小程序上实现语音搜索,这里我们借助了第三方腾讯云智能语音插件
接下来让我们一起来看看实际操作吧
首先,我们需要在使用界面里面执行以下操作
//腾讯云,没有腾讯云账号的,需要注册一个账号let appid = ''let secretid = ''let secretkey = ''let openConsole = truelet plugin = requirePlugin("QCloudAIVoice");const recorderManager = wx.getRecorderManager() // 获取全局唯一的录音管理器 RecorderManagerconst innerAudioContext = wx.createInnerAudioContext() // 创建内部 audio 上下文 InnerAudioContext 对象。plugin.setQCloudSecret(appid, secretid, secretkey, openConsole);let speechRecognizerManager = plugin.speechRecognizerManager(); let manager = plugin.getRecordRecognitionManager(); //获取全局唯一的语音识别管理器Page({onLoad(e) {manager.onStart((res) => {console.log('recorder start', res.msg);})manager.onStop((res) => {console.log("stop")recorderManager.stop()console.log('recorder stop', res.tempFilePath);})manager.onError((res) => {console.log('recorder error', res.errMsg); // 打印录音识别错误信息})// 开始识别speechRecognizerManager.OnRecognitionStart = (res) => {console.log('开始识别', res);}// 一句话开始speechRecognizerManager.OnSentenceBegin = (res) => {console.log('一句话开始', res)}// 识别变化时speechRecognizerManager.OnRecognitionResultChange = (res) => {console.log('识别变化时', res)}// 一句话结束speechRecognizerManager.OnSentenceEnd = (res) => {console.log('一句话结束', res)}// 识别结束speechRecognizerManager.OnRecognitionComplete = (res) => {console.log('识别结束', res);}// 识别错误speechRecognizerManager.OnError = (res) => {console.log('识别失败', res);}// 录音超过固定时长(最长10分钟)时回调speechRecognizerManager.OnRecorderStop = () => {console.log('超过录音时长');}},//点击按钮开始识别startHandel: function () {var that = thisconsole.log("开始")//参数定义可查看腾讯云小程序插件manager.start({duration:10000,engine_model_type: '16k_zh',filter_dirty: 2,filter_modal: 1,filter_punc: 1,needvad:1});//获取识别内容manager.onRecognize((res) => {console.log(res)if(res.code == 0){if(res.resList.resultList[0].voice_text_str){that.setData({Words: res.resList.resultList[0].voice_text_str,//获取识别的文字内容})}if(res.resList.resultList[0].slice_type == 2){//识别结束,可进行一些相关操作}}else{recorderManager.stop()}})},})
感谢阅读
如有问题,欢迎留言指出,一起学习,一起进步