zoukankan      html  css  js  c++  java
  • uniapp结合小程序第三方插件“WechatSI”实现语音识别功能,进而实现终端控制

    最近在用soket实现终端控制器的功能,然后就想用语音控制,这样显得更AI

    WechatSImanifest.json中配置:

    在vue中插入如下展示代码:

    <view class="voice-content">语音识别内容:<text class="text holy-font">{{currentText}}</text></view>
    

      

    如果需要按住按钮说话,松开回调:

    <button class="echo-btn cuIcon-voice" :class="isSpeaking?'orange':'green'" @touchstart="streamRecord" @touchend="streamRecordEnd"></button>
    

      

    接下来就是js使用方法:

                  streamRecord: function() {
    				voicManager.start({
    					lang: 'zh_CN',
    				})
    				uni.vibrateShort();
    				this.isSpeaking = true;
    			},
    			streamRecordEnd: function() {
    				voicManager.stop();
    				uni.vibrateShort();
    				this.isSpeaking = false;
    			},
    			initRecord: function() { //有新的识别内容返回,则会调用此事件
    				// voicManager.onRecognize = (res) => {
    				// 	let text = res.result
    				// 	this.currentText=text;
    				// } 
    				// 识别结束事件
    				voicManager.onStop = (res) => {
    					console.log(res)
    					let text = res.result
    					if (text == '') { // 用户没有说话,可以做一下提示处理...
    						return
    					}
    					this.currentText = text;
    					// 这里得到完整识别内容就可以去翻译了
    					this.translateTextAction();
    				}
    			}
    			// translateTextAction: function() {
    			// 	let lfrom = 'zh_CN';
    			// 	let lto = 'en_US';
    			// 	voicPlugin.translate({
    			// 		lfrom: lfrom,
    			// 		lto: lto,
    			// 		content: this.data.currentText,
    			// 		tts: true, // 需要合成语音
    			// 		success: (resTrans) => { // 翻译可以得到 翻译文本,翻译文本的合成语音,合成语音的过期时间
    			// 			let text = resTrans.result;
    			// 			this.translateText=text;
    			// 			// this.setData({
    			// 			// 	translateText: text,
    			// 			// }); // 得到合成语音让它自动播放出来
    			// 			// wx.playBackgroundAudio({
    			// 			// 	dataUrl: resTrans.filename,
    			// 			// 	title: '',
    			// 			// });
    			// 		}
    			// 	})
    			// },
    

      

    实现的效果如下:

    另:结合利用soket通信推送消息,可实现语音控制大屏展示项目

  • 相关阅读:
    杭电1171 Big Event in HDU(母函数+多重背包解法)
    怎样设计接口?
    未将对象引用设置到对象的实例--可能出现的问题总结
    開始Unity3D的学习之旅
    介绍一款轻量级js控件:easy.js
    Mustache 使用心得总结
    (ArcGIS API For Silverlight )QueryTask 跨层查询,和监控完整的查询!
    非常基本的SQL 内外连接
    Myeclipse它显示了一个目录的结构,而不是包
    Duanxx的Design abroad: C++矩阵运算库Eigen 概要
  • 原文地址:https://www.cnblogs.com/bug-master/p/11282836.html
Copyright © 2011-2022 走看看