可以用chrome浏览器在这里试试效果,点击话筒即可:

现在各大网站都在搜索框中加入了语音输入功能,不过目前只有Chrome 11及以上版本才支持。
可以用chrome浏览器在这里试试效果,点击话筒即可:

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

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

检测浏览器是否支持
1 if(document.createElement("input").webkitSpeech === undefined) {
2 alert("Speech input is not supported in your browser.");
3 }

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

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


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

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


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

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


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

测试了下效果,语音识别率还不错,但中英夹杂的时候就很悲剧了,而且该服务需要走google的服务器所以有时响应速度很慢,另外在mac中遇到提示“麦克风无法使用”的情况,猜测可能存在一些硬件兼容性问题。总的来说是趣味性大于实用性;比较期待能在手机浏览器上实现这个功能,可以做一些比较有趣的应用。

你可能感兴趣的:(可以用chrome浏览器在这里试试效果,点击话筒即可:)