JavaScript语音识别主要依靠Web Speech API的SpeechRecognition接口,需在HTTPS环境及用户手势触发下初始化并启动,支持实时语音转文字,但Safari不支持。

JavaScript 中实现语音识别主要靠浏览器原生支持的 Web Speech API,特别是其中的 SpeechRecognition 接口(目前在 Chrome、Edge 等 Chromium 内核浏览器中稳定可用,Firefox 有部分支持但需手动启用,Safari 尚未支持)。它无需第三方 SDK 或后端服务,纯前端即可完成实时语音转文字。
SpeechRecognition 构造函数创建识别实例,调用 start() 开始监听麦克风。注意:必须在用户手势(如点击)触发下才能启动,否则会被浏览器阻止。
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.continuous = false;(单次识别),recognition.lang = 'zh-CN';(中文识别),recognition.interimResults = true;(返回中间结果)onresult 捕获识别文本,onerror 处理权限拒绝或网络错误,onend 在识别结束时自动触发event.results 是一个类似二维数组的对象,results[i] 是第 i 次识别的备选结果,每个结果含 transcript(文本)和 confidence(置信度)。最常用的是取 results[0][0].transcript 获取主结果。
recognition.addEventListener('result', event => { const transcript = event.results[0][0].transcript; console.log('识别到:', transcript); });
event.results[0].isFinal 判断是否为最终确认文本interimResults = true 实现“边说边显示”,适合搜索框或听写场景Web Speech API 虽简单,但实际使用中容易踩坑:
立即学习“Java免费学习笔记(深入)”;
localhost,但部署到线上必须是 HTTPS 环境,否则直接报错start() 会弹出浏览器权限请求,拒绝后需手动在地址栏重新允许onend,如需持续监听,可在 onend 中再次调用 start()(注意防循环)若需跨浏览器兼容或更高准确率,可考虑轻量级方案:
MediaRecorder 录制音频 blob,再上传至语音识别服务(适合长语音、离线缓存等场景)基本上就这些。Web Speech API 上手快、集成轻,适合快速原型或内部工具;对稳定性、多语言、离线能力要求高的项目,建议搭配服务端识别方案。
以上就是javascript中如何实现语音识别?_javascript的Web Speech API如何使用?的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号