Skip to main content
 首页 » 编程开发

x-webkit-speech为文本输入框增加语音输入功能

9年前 (2013-07-16)29070

 

现在各大网站都在搜索框中加入了语音输入功能,有那么一个麦克风在那总觉得有一点酷,不过目前只有Chrome 11及以上版本才支持。

实现起来也非常简单,为input添加名为 x-webkit-speech 的属性就行了。
 

<input type="text" x-webkit-speech />

w3c对语音输入有官方的说明:http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html
使用语音输入作用有:
1.提供除了键盘和鼠标的另一个输入方法,针对pc用户,当键盘不可用时也可以使用语音输入。
2.为手机用户提供更加方便的输入方法。

1.支持的浏览器
x-webkit-speech是webkit内核浏览器的私有属性(废话)。但现在只能在google的chrome 11以上才能使用。
实现过程大概是捕捉到语音后,数据发送到google的服务器进行语音识别,然后返回结果。所以没有足够强大大的研发能力和服务器资源,真没法支持这个服务。

2.相关的属性设置:
lang
设置语言种类:

<input type="text" x-webkit-speech lang="zh-CN" />

onwebkitspeechchange
语音输入事件,当发声语音改变时触发:

<input type="text" x-webkit-speech onwebkitspeechchange="foo()" />

x-webkit-grammar
语音输入语法,”builtin:search”值使得语音输入的内容尽量靠近搜索内容,去除多余的字符,例如「的」

<input type="text" x-webkit-speech x-webkit-grammar="builtin:search" />

还有个值:”builtin:translate”看到taobao在用,但目前还不清楚是什么意义,有时间再仔细看看W3C的文档。

测试了下效果,语音识别率还不错。

相关资料:
http://www.w3.org/TR/capture-api/
http://www.w3.org/TR/xhtml+voice/
http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html

 

评论列表暂无评论
发表评论
新浪微博
微信