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,提升你的语音识别的精准度。

    转发请注明出处:http://www.cnblogs.com/Arthus/p/3679808.html

posted @ 2014-04-22 09:43  宇落  阅读(2896)  评论(8编辑  收藏  举报