0

0

HTML如何实现语音识别?Web Speech API怎么用?

下次还敢

下次还敢

发布时间:2025-06-17 18:54:02

|

827人浏览过

|

来源于php中文网

原创

要让网页支持语音识别,最直接的方式是使用浏览器提供的 web speech api。1. 首先检查浏览器是否支持该 api,可通过判断 window 中是否存在 webkitspeechrecognition 或 speechrecognition 对象来确认,目前主流支持的浏览器为 chrome 和 edge,safari 与 firefox 支持有限;2. 接着初始化语音识别对象,通过 new 创建实例并设置参数,如语言、是否连续识别及是否返回中间结果;3. 然后监听关键事件,包括 onresult 获取识别结果、onerror 捕获错误及 onend 监听识别结束;4. 最后实现启动与停止语音识别功能,通常绑定按钮点击事件调用 start() 与 stop() 方法,并注意用户权限授予与网络环境对识别准确率的影响。

HTML如何实现语音识别?Web Speech API怎么用?

要让网页支持语音识别,最直接的方式是用浏览器提供的 Web Speech API。这个 API 分为两部分:语音识别(SpeechRecognition)和语音合成(SpeechSynthesis)。我们这里重点讲语音识别的部分。

下面我们就一步步来看看怎么用 Web Speech API 来实现 HTML 页面上的语音识别功能。


1. 检查浏览器是否支持 Web Speech API

不是所有浏览器都支持语音识别功能,所以第一步是确认用户使用的浏览器是否兼容。

立即学习前端免费学习笔记(深入)”;

if ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window) {
    // 支持语音识别
} else {
    console.log('当前浏览器不支持语音识别');
}

目前主流支持的是 Chrome 和 Edge 浏览器,Safari 和 Firefox 的支持情况有限。


2. 初始化语音识别对象

创建一个语音识别的实例,可以这样写:

const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();

然后你可以设置一些参数,比如语言、是否连续识别等:

剪映专业版
剪映专业版

一款全能易用的桌面端剪辑软件

下载
recognition.lang = 'zh-CN';       // 设置语言为中文
recognition.continuous = false;   // 不持续监听,说一次停一次
recognition.interimResults = false; // 不返回中间结果,只返回最终结果
  • continuous 控制是否连续识别;
  • interimResults 决定是否显示中间识别结果(边说边出文字);

3. 监听语音识别事件

语音识别过程是异步的,你需要绑定几个关键事件来处理结果和状态变化:

recognition.onresult = function(event) {
    const transcript = event.results[0][0].transcript;
    console.log('你说的是:', transcript);
};

recognition.onerror = function(event) {
    console.error('识别出错:', event.error);
};

recognition.onend = function() {
    console.log('语音识别已结束');
};
  • onresult 是获取语音转文字的核心回调;
  • onerror 可以捕获麦克风权限被拒等问题;
  • onend 表示识别过程结束,可以在这里重新启动或提示用户操作。

4. 启动和停止语音识别

有了上面的基础之后,就可以让用户点击按钮开始说话了:




注意:有些浏览器在调用 start() 时会弹出请求麦克风权限的提示,如果用户拒绝,后续识别就会失败。


小细节补充:语音识别有时不太准?

这很正常,特别是在嘈杂环境下或者口音比较重的情况下。另外,语音识别依赖网络(因为需要把音频传到服务器处理),所以网速慢也可能影响体验。

如果你希望提高识别准确率,可以在安静环境下测试,或者尝试引导用户使用标准普通话。


基本上就这些。Web Speech API 的语音识别功能虽然简单,但已经能满足很多场景的需求,比如语音输入、语音控制页面等。只要注意兼容性和用户体验,就能做出不错的交互效果。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

704

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

708

2023.11.06

html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

586

2023.06.14

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

637

2023.06.21

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

456

2023.07.31

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

240

2023.08.01

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2847

2023.08.11

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

500

2023.08.11

虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

25

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
如何进行WebSocket调试
如何进行WebSocket调试

共1课时 | 0.1万人学习

TypeScript全面解读课程
TypeScript全面解读课程

共26课时 | 5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号