Web Speech API的SpeechRecognition接口支持浏览器端语音转文本,需HTTPS环境和麦克风授权,仅Chrome/Edge稳定支持;通过start()/stop()控制识别,监听onresult等事件获取结果,中文识别受限于口音噪音且不支持离线优化。

JavaScript语音识别API主要指浏览器原生支持的 Web Speech API 中的 SpeechRecognition 接口(现多为 webkitSpeechRecognition),它能在用户授权后,实时将麦克风输入的语音流转换为文本。注意:该API目前仅在较新版本的 Chrome、Edge(基于Chromium)中稳定可用,Firefox、Safari暂不支持。
如何启用语音识别功能
需满足两个前提:页面通过 HTTPS(或 localhost)加载;用户已授予权限访问麦克风。
- 检测浏览器兼容性:检查
window.SpeechRecognition或window.webkitSpeechRecognition是否存在 - 创建识别实例:
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)(); - 设置基本参数:如
recognition.continuous = false(单次识别)、recognition.lang = 'zh-CN'(中文识别)
监听关键事件并获取识别结果
语音识别是异步过程,需通过事件回调处理结果:
-
onresult:识别成功时触发,event.results[0][0].transcript即为识别出的文本 -
onstart:麦克风开始收音 -
onend:识别结束(可能因超时、静音或用户停止而触发) -
onerror:发生错误时(如无权限、网络问题),可提示用户重试
启动与停止识别的常用操作
不能自动持续监听,需由用户显式触发:
标签: javascript java go 浏览器 edge 安卓 safari 后端 win 多语言 google rest
还木有评论哦,快来抢沙发吧~