第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 微信小程序--实时语音识别

微信小程序--实时语音识别

时间:2019-01-12 16:54:09

相关推荐

微信小程序--实时语音识别

小程序实时语音识别

说到搜索功能,常见的有:图片搜索,语音搜索,文字搜索(模糊、精准)

今天我们聊聊如何在微信小程序上实现语音搜索,这里我们借助了第三方腾讯云智能语音插件

接下来让我们一起来看看实际操作吧

首先,我们需要在使用界面里面执行以下操作

//腾讯云,没有腾讯云账号的,需要注册一个账号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()}})},})

感谢阅读

如有问题,欢迎留言指出,一起学习,一起进步

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。