HTML5语音识别API使用方法
时间:2025-12-19 11:31:35 327浏览 收藏
目前golang学习网上已经有很多关于文章的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《HTML5语音识别API怎么用_HTML5SpeechRecognitionAPI实现语音识别的方法》,也希望能帮助到大家,如果阅读完后真的对你学习文章有帮助,欢迎动动手指,评论留言并分享~
HTML5语音识别通过SpeechRecognition API实现,需先检测浏览器支持情况,创建识别实例并设置语言、连续识别等参数,监听结果、错误和结束事件,通过start()/stop()控制识别流程,结合按钮操作可在HTTPS或localhost环境下实现语音转文本功能。

HTML5 的语音识别功能主要通过 SpeechRecognition API 实现,它允许网页捕捉用户的语音并将其转换为文本。目前该 API 在部分现代浏览器中支持,尤其是基于 Chromium 的浏览器(如 Chrome、Edge)。
1. 检测浏览器是否支持 SpeechRecognition
在使用语音识别前,先检查当前浏览器是否支持该 API,避免运行时报错。
if ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window) {
// 支持语音识别
} else {
console.log('当前浏览器不支持语音识别');
}
注意:Chrome 使用的是 webkitSpeechRecognition,这是带前缀的版本。
2. 创建 SpeechRecognition 实例
创建一个识别对象,并配置相关参数。
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
这样可以兼容不同浏览器的实现方式。
3. 配置识别参数
可以通过设置属性来控制识别行为:
- recognition.lang = 'zh-CN'; —— 设置识别语言,中文用 'zh-CN',英文可用 'en-US'
- recognition.interimResults = false; —— 是否返回中间结果(用户说话过程中是否实时显示)
- recognition.continuous = false; —— 是否持续监听,设为 true 可连续识别多段语音
4. 监听识别事件
绑定关键事件来处理识别结果和状态:
- onresult:当识别出结果时触发
- onend:识别结束时触发(可用于自动重启)
- onerror:识别出错时触发
recognition.onresult = function(event) {
const transcript = event.results[0][0].transcript;
console.log('识别结果:', transcript);
document.getElementById('output').textContent = transcript;
};
recognition.onerror = function(event) {
console.log('识别出错:', event.error);
};
recognition.onend = function() {
console.log('识别结束');
};
5. 启动和停止识别
调用方法开始或停止语音识别:
- recognition.start(); —— 开始录音和识别
- recognition.stop(); —— 停止识别(尤其在 continuous 为 false 时自动停止)
通常绑定到按钮点击事件:
document.getElementById('startBtn').onclick = function() {
recognition.start();
};
document.getElementById('stopBtn').onclick = function() {
recognition.stop();
};
6. 完整示例代码
<input type="button" id="startBtn" value="开始识别">
<input type="button" id="stopBtn" value="停止识别">
<p id="output"></p>
<script>
const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
recognition.lang = 'zh-CN';
recognition.interimResults = false;
recognition.onresult = function(event) {
document.getElementById('output').textContent = event.results[0][0].transcript;
};
recognition.onerror = function(event) {
console.log('错误:', event.error);
};
recognition.onend = function() {
console.log('识别已结束');
};
document.getElementById('startBtn').onclick = () => recognition.start();
document.getElementById('stopBtn').onclick = () => recognition.stop();
</script>
基本上就这些。只要用户授权麦克风权限,就可以实现基本的语音转文字功能。注意:页面必须运行在 HTTPS 或本地环境(localhost),否则无法获取麦克风权限。
终于介绍完啦!小伙伴们,这篇关于《HTML5语音识别API使用方法》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
257 收藏
-
305 收藏
-
428 收藏
-
449 收藏
-
303 收藏
-
186 收藏
-
145 收藏
-
477 收藏
-
455 收藏
-
358 收藏
-
297 收藏
-
456 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习