Web Speech API通过SpeechRecognition接口实现浏览器语音转文字,需创建实例并配置语言、连续识别等参数,绑定onresult、onerror、onend等事件,调用start()启动识别,支持Chrome及Chromium系浏览器,需HTTPS环境与用户授权,适用于语音输入与控制场景。
Web Speech API 让网页能够使用浏览器的语音识别功能,实现将用户的语音实时转换为文字。这项技术可以用于语音输入、语音控制、无障碍访问等多种场景。核心是 SpeechRecognition 接口(或其前缀版本 webkitSpeechRecognition),目前在 Chrome 和部分基于 Chromium 的浏览器中支持良好。
要让网页具备语音识别能力,需要创建一个 SpeechRecognition 实例,并配置事件监听器来处理识别结果。
示例代码:
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();// 设置中文识别 recognition.lang = 'zh-CN'; //
连续识别模式 recognition.continuous = true; // 不自动结束 recognition.interimResults = false;
recognition.onresult = function(event) { const transcript = event.results[event.results.length - 1][0].transcript; console.log('识别结果:', transcript); document.getElementById('output').textContent = transcript; };
recognition.onerror = function(event) { console.error('识别出错:', event.error); };
recognition.onend = function() { console.log('语音识别已结束'); };
// 启动识别 document.getElementById('startBtn').onclick = () => { recognition.start(); };
// 停止识别 document.getElementById('stopBtn').onclick = () => { recognition.stop(); };
通过调整参数可以让识别更符合实际需求。
Web Speech API 使用中容易遇到一些限制和坑点。
基本上就这些。只要理解事件机制和参数作用,就能快速集成语音输入功能。虽然当前支持范围有限,但在可控环境(如企业内网、特定设备)中非常实用。不复杂但容易忽略细节,比如语言设置和权限处理。