日前因工作需求,着手研究了语音识别技术,发现github上有网友发布了一款叫做voix.js的javascript框架。在拜读voix.js的源码后发现了不少问题,于是自己写了一款语音识别框架MyVoix。

  话不多说,下面将介绍MyVoix框架的使用。首先敬上MyVoix源码地址

  使用前和别的js库一样,我们需要引入myvoix.js文件

<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

Chrome下的语音控制框架MyVoix.js使用篇(一)的更多相关文章

  1. Chrome下的语音控制框架MyVoix.js使用篇(四)

    在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...

  2. Chrome下的语音控制框架MyVoix.js使用篇(三)

    上篇文末已经提及,google分析出的单词可能和大家预想的输入有差别.上文我们通过预先绑定多个语音指令,权益地解决了这个问题.在这一章,我将介绍myvoix.js框架自带的smart learning ...

  3. Chrome下的语音控制框架MyVoix.js使用篇(二)

    上一篇博文中,初步介绍了MyVoix.js的基本功能,这次我们将演示一个完整的实例. 先上代码 <!DOCTYPE HTML> <html> <head> < ...

  4. 关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题

    首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的,原因在于: ~~~ie可直接<button onclick="windo ...

  5. 语音控制的tab选项卡

    前端开发whqet,csdn,王海庆,whqet,前端开发专家 ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了. 语音识别高不高端.难不难? 今天给大 ...

  6. H5案例分享:JS手势框架 —— Hammer.js

    JS手势框架 -- Hammer.js 一.hammer.js简介 hammerJS是一个开源的,轻量级的触屏设备javascript手势库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件.允许 ...

  7. OMCS ——卓尔不群的网络语音视频框架

    作为.NET平台上的开发人员,要开发出一个像样视频聊天系统或视频会议系统,非常艰难,这不仅仅是因为.NET对多媒体的支持比较有限,还因为网络语音视频这块涉及到了很多专业方面的技术,而.NET在这些方面 ...

  8. 一款很便捷很实用的框架——vue.js

    Hello,大家好!今天给大家带来一款十分好用的框架--vue.js! Vue.js是一套构建用户界面的渐进式框架.它 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 ...

  9. Web前端三大框架_angular.js 6.0(二)

    Web前端三大框架_angular.js 6.0(一) 需要视频教程,看头像昵称处 一.Angular 6.0  1.1样式 html中引入样式:内嵌式,外链式,行内式. ng6中组件引入样式的方式也 ...

随机推荐

  1. 设计模式(十二): Flyweight享元模式 -- 结构型模式

    说明: 相对于其它模式,Flyweight模式在PHP实现似乎没有太大的意义,因为PHP的生命周期就在一个请求,请求执行完了,php占用的资源都被释放.我们只是为了学习而简单做了介绍. 1. 概述 面 ...

  2. bzoj2821作诗

    http://www.lydsy.com/JudgeOnline/problem.php?id=2821 分块 我们把数列分成$\sqrt{N}$块 记$f[i][j]$表示第i块到第j块的答案,这个 ...

  3. 51nod-正整数分组问题(基础方程DP-01背包)

    正整数分组 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. 思路: 这题的实质其实也是0-1背包问 ...

  4. oracle exp imp

    oracle exp/imp

  5. Java虚拟机内存优化实践

    前面一篇文章介绍了Java虚拟机的体系结构和内存模型,既然提到内存,就不得不说到内存泄露.众所周知,Java是从C++的基础上发展而来的,而C++程序的很大的一个问题就是内存泄露难以解决,尽管Java ...

  6. 并发队列之:BlockingQueue和ConcurrentLinkedQueue

    一.并行和并发区别: 并行:是指两者同时执行一件事.比如赛跑,两个人都在不停的往前跑: 并发:是指资源有限的情况下,两者交替轮流使用资源.比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给 ...

  7. http常见错误

    100:继续  客户端应当继续发送请求.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应. 101: 转换协议  在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消 ...

  8. JDBC编程之优化

    1.创建 dbconfig.properties driver=com.mysql.jdbc.Driver dburl=jdbc\:mysql\://localhost\:3306/mytest us ...

  9. 认识ptrace函数

    认识ptrace函数 这是man对于ptrace这个系统调用的解释 http://man7.org/linux/man-pages/man2/ptrace.2.html #include <sy ...

  10. Kinect for Windows V2和V1对照开发___彩色数据获取并用OpenCV2.4.10显示

    V1彩色分辨率:640x480 V2彩色分辨率:1920x1080 1,打开彩色图像帧的方式 对于V1: 使用NuiImageStreamOpen方法打开 hr = m_PNuiSensor-> ...