如何利用input标签添加语音录入功能

本文介绍如何在网页中实现语音输入功能,通过为input元素添加x-webkit-speech属性,配合设置lang、x-webkit-grammar等属性实现不同语言及语法的支持,并介绍了相关事件的触发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信大家现在在浏览网页时都不难看到一些网站的文本框中带有一个话筒(点击话筒可以语音输入内容到文本框中),下面给大家介绍如何使自己的网站也支持语音输入内容。

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

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

<input type="text" x-webkit-speech />
相关的属性设置:
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的文档。

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

 

补充: 经过多个浏览器测试 均未显示小话筒  查资料发现  其实所谓的语音识别 是我们在说话的时候 谷歌浏览器接收语音.然后发送到谷歌后台,谷歌自己写的语音识别系统,然后再将数据返回,而现在的谷歌需要翻墙才能访问官网,所以此功能失效,有兴趣的去看另一个博客吧 .,终结....

如果你觉得我帮到你了,买个肥宅快乐水,怎么样?哈哈哈哈哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值