Chrome下的语音控制框架MyVoix.js使用篇(一)
日前因工作需求,着手研究了语音识别技术,发现github上有网友发布了一款叫做voix.js的javascript框架。在拜读voix.js的源码后发现了不少问题,于是自己写了一款语音识别框架MyVoix。
话不多说,下面将介绍MyVoix框架的使用。首先敬上MyVoix源码地址。
使用前和别的js库一样,我们需要引入myvoix.js文件
1 <script src="myvoix.js"></script>
上面的代码是传统的加载javascript文件的方法,当然你也可以使用javascript代码加载myvoix.js文件,关于javascript文件的加载机制已经有很多文章涉及到了,这里就不加赘述了。你只需要确认myvoix文件加载完毕后再使用里面的方法即可。
使用myvoix.js中的方法,我们需要首先实例化一个MyVoix的对象。
var _myVoix = new MyVoix(undefined,undefined,true);
MyVoix实例化的时候有三个参数
第一个参数:用于传入 webkitSpeechRecognition 对象的各种配置,具体参数可以参考WebSpeech的API文档。
第二个参数:用于传入MyVoix中smart learning模块记忆的数据,之后我们会详细解读smart learning模块。
第三个参数:是否一直保持语音监听,通常情况下在完成一次语音检测后,webkitSpeechRecognition对象会停止侦测语音输入。
在实例化_myVoix对象的时候,构造函数会内部执行‘开始监听语音输入’的函数,如果没用开启第三个参数‘一直保持语音监听’。在结束一次侦听后,可以使用以下代码再次开启语音监听。
_myVoix.Recognition.start();
对应的,你可以调用stop方法停止语音监听。
_myVoix.Recognition.stop();
在实例化_myVoix后,我们需要绑定语音指令已经对应的方法。下例中,我们为一个自定义的myfunc方法绑定各种语音指令。
_myVoix.bind('go',myfunc);
值得一提的是,MyVoix支持语音指令的批量绑定
_myVoix.bind(['go','start'],myfunc);
在解绑方法的时候,我们还是只能一个个来。
_myVoix.unbind('go',myfunc);
到此为止,你已经可以使用MyVoix执行语音识别了。下一章我们将进一步带你了解MyVoix,提升你的语音识别的精准度。