Chrome下的语音控制框架MyVoix.js使用篇(一)
日前因工作需求,着手研究了语音识别技术,发现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使用篇(一)的更多相关文章
- Chrome下的语音控制框架MyVoix.js使用篇(四)
在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...
- Chrome下的语音控制框架MyVoix.js使用篇(三)
上篇文末已经提及,google分析出的单词可能和大家预想的输入有差别.上文我们通过预先绑定多个语音指令,权益地解决了这个问题.在这一章,我将介绍myvoix.js框架自带的smart learning ...
- Chrome下的语音控制框架MyVoix.js使用篇(二)
上一篇博文中,初步介绍了MyVoix.js的基本功能,这次我们将演示一个完整的实例. 先上代码 <!DOCTYPE HTML> <html> <head> < ...
- 关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题
首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的,原因在于: ~~~ie可直接<button onclick="windo ...
- 语音控制的tab选项卡
前端开发whqet,csdn,王海庆,whqet,前端开发专家 ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了. 语音识别高不高端.难不难? 今天给大 ...
- H5案例分享:JS手势框架 —— Hammer.js
JS手势框架 -- Hammer.js 一.hammer.js简介 hammerJS是一个开源的,轻量级的触屏设备javascript手势库,它可以在不需要依赖其他东西的情况下识别触摸,鼠标事件.允许 ...
- OMCS ——卓尔不群的网络语音视频框架
作为.NET平台上的开发人员,要开发出一个像样视频聊天系统或视频会议系统,非常艰难,这不仅仅是因为.NET对多媒体的支持比较有限,还因为网络语音视频这块涉及到了很多专业方面的技术,而.NET在这些方面 ...
- 一款很便捷很实用的框架——vue.js
Hello,大家好!今天给大家带来一款十分好用的框架--vue.js! Vue.js是一套构建用户界面的渐进式框架.它 只关注视图层, 采用自底向上增量开发的设计. Vue 的目标是通过尽可能简单的 ...
- Web前端三大框架_angular.js 6.0(二)
Web前端三大框架_angular.js 6.0(一) 需要视频教程,看头像昵称处 一.Angular 6.0 1.1样式 html中引入样式:内嵌式,外链式,行内式. ng6中组件引入样式的方式也 ...
随机推荐
- Altium中Fill,Polygon Pour,Plane的区别和用法
Fill:表示绘制一块实心的铜皮,将区域中的所有连线和过孔连接在一块,而不考虑是否属于同一个网络.假如所绘制的区域中有VCC和GND两个网络,用Fill命令会把这两个网络的元素连接在一起,这样就有可能 ...
- 32G sd卡格式化成fat
fat文件系统格式只支持4G及以下的内存空间的存储设备,对于4G及以上的存储设备可以使用fat32或ntfs文件系统,建议使用ntfs文件系统,这样可以最有效地利用存储设备的存储空间,而且可以减少出现 ...
- 【转】android使用File Explorer无法访问系统内部文件--不错
原文网址:http://blog.csdn.net/yangqicong11/article/details/8747042 设备:Samsung GT-P3110 系统:Android 4.1.1 ...
- JAVA 面试整理,面试汇总
1.JAVA是通过重写和重载来实现多态性的. 重写:同样的方法签名,不同的方法实现 重载:同样的方法名,不同的参数类型或参数个数 2.JAVA中如果存在不再使用的对象,但是程序又持有该对象的引用,就会 ...
- Hive 7、Hive 的内表、外表、分区(22)
Hive 7.Hive 的内表.外表.分区 1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.h ...
- Java快速排序
快速排序: public int Partition(int[] nums, int low, int high) { int pivot = nums[low]; while (low < h ...
- window下安装FTP服务器
系统window8.1 1.安装IIS组件:点开始菜单-选择控制面板--程序--打开或关闭WINDOWS功能--展开Internet信息服务,勾选FTP服务器(包括FTP服务和FTP扩展性),点确定. ...
- EF中主表和附表一起提交的话,如果主附表的主键外键已经设定。
EF中主表和附表一起提交的话,如果主附表的主键外键已经设定,如果新增同时新增主表和附表的记录,那么在EF同时提交时,不需要人为的设定附表的主表的主键值,EF会自动为附表添加外键值.
- 集成容联:Warning! ivar size mismatch in PSUICollectionView_ - can't change the superclass.解决办法
这个警报其实是无影响的. 解决方案: PSTCollectionView.m 的 char filler[200] 替换成char filler[300]
- 视图的touch事件的传播控制
在视图控制器类中.self.view中会包含多个多层的自己定义视图. 我自己定义了一个uicollectionview类,名称为gridview,又自己定义了一个uicollectionviewcel ...