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中组件引入样式的方式也 ...
随机推荐
- 迅雷程浩:企业外包服务,下一个大的风口?(2B业务一定要懂销售和营销的人,这点和2C 不一样)
我今年暑假去了趟硅谷,一天去一个朋友的公司拜访,发现这公司没有前台,前台桌子上放了一个显示器.我刚进去,显示器里的老印就跟我打招呼 "How may I help you?" 事后 ...
- Android 调用图库选择图片实现和参数详解
//选择图片,调用图库 bt4.setOnClickListener(new OnClickListener() { @Override public void o ...
- openstack 手动安装版 功能测试
nova network-create demo-net --bridge br100 --multi-host T --gateway 192.168.3.252 --dns1 202.102.19 ...
- M - 约会安排 - hdu 4553
寒假来了,又到了小明和女神们约会的季节. 小明虽为�丝级码农,但非常活跃,女神们常常在小明网上的大段发言后热情回复“呵呵”,所以,小明的最爱就是和女神们约会.与此同时,也有很多基友找他开黑,由于数量 ...
- writev/readv
```cpp#include <sys/uio.h>ssize_t readv(int fd, const struct iovec *iov, int iovcnt);ssize_t w ...
- MongoDB的数据类型
最近在写一个lua的MongoDB模块.MongoDB版本3.2,lua则是5.3.1.底层以C++来写,再把函数暴露给lua调用.但是在lua中打印结果时,发现了些奇怪的现象.首先,数据库中的内容: ...
- 使用nvm来管理nodejs版本
nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmw 或 nvm-windows .nvm主要用来 ...
- CopyOnWriteArrayList理解与理解
CopyOnWriteArrayList,因何而存在? ArrayList的一个线程安全的变体,其所有可变操作(add.set 等)都是通过对底层数组进行一次新的复制来实现的,代价昂贵. CopyO ...
- [转]Android Volley完全解析(四),带你从源码的角度理解Volley
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17656437 经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是 ...
- 基于bootstrap的datatable控件
https://editor.datatables.net/release/DataTables/extras/Editor/examples/bootstrap.htmlhttps://github ...