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

小程序实时语音识别

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

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

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

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

	//腾讯云,没有腾讯云账号的,需要注册一个账号
	let appid = ''
	let secretid = ''
	let secretkey = ''
	let openConsole = true

	let plugin = requirePlugin("QCloudAIVoice");
	const recorderManager = wx.getRecorderManager()  // 获取全局唯一的录音管理器 RecorderManager
	const 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 = this
	  		
	  		console.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()
				}
	  		})
	  	},
	})
	

感谢阅读

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值