新闻中心
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. 配置识别参数
可以通过设置属性来控制识别行为:
Kreado AI
Kreado AI是一个多语言AI视频创作平台,只需输入文本或关键词,即可创作真实/虚拟人物的多语言口播视频。 为创作者提供AI赋能
182
查看详情
- 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怎么用_HTML5SpeechRecognitionAPI实现语音识别的方法的详细内容,更多请关注其它相关文章!
# 是一个
# 网站seo优化推广工具好处
# 广东百度查关键词排名
# 美国电影网站建设
# 铁岭seo查询如何做
# 淘宝seo价格优化模型
# 网站推广快寻a金脉科技权威
# 线下如何推广网站
# 上门seo优化管理系统
# 柳南区网站建设营销
# 镇江企业网站推广服务
# 与传统
# 这是
# html
# 的是
# 多语言
# 源代码
# 绑定
# 语音识别
# 关键词
# 点击事件
# 自动重启
# win
# edge
# 浏览器
# html5
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】
PowerPoint如何制作滚动字幕结尾彩蛋_PowerPoint路径动画实现平滑滚动字幕效果
抖音怎么赚钱_抖音创作者变现方法与途径指南
火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧
qq游戏手机版下载安装_qq游戏移动端入口
Golang如何实现Web接口签名验证_Golang Web接口签名校验开发方法
composer的"require-dev"部分是用来做什么的?
在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
铁路12306改签能改到更早的车次吗_铁路12306改签提前车次规则
Win10自动更新怎么关闭 Win10永久关闭系统更新的两种方法【终极版】
必由学官方平台入口 必由学在线课堂登录地址
KFC游戏互动怎么赢取优惠券_KFC线上游戏活动参与与优惠代码赢取教程
AO3同人作品网入口 AO3搜索引擎官网永久地址
网站内容防复制粘贴的实现策略与局限性
必由学官网快捷入口 必由学网页版在线学习平台
照顾宝贝2小游戏免费秒玩入口
Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】
Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法
Python多线程中正确使用sigwait处理SIGALRM信号
Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置
解决深度学习模型训练初期异常高损失与完美验证准确率问题
优化Django表单:提交验证失败后保留用户输入
邮编格式怎么匹配地址_根据邮编格式快速匹配详细地址的技巧
深入理解J*a编译器的兼容性选项:从-source到--release
PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误
AO3最新入口2025公告_AO3中文官网合集
Lar*el 8 多关键词数据库搜索优化实践
微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法
Animex动漫社网入口地址 Animex动漫社网正版在线入口
Tailwind CSS line-clamp 布局问题解析与修复指南
深入理解J*aScript中的B样条曲线与节点向量生成
谷歌推RCS信息存档功能:公司可监控员工私密信息!
c++ 获取系统当前时间 c++时间戳获取方法
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
批改网学生版PC登录 批改网官网登录系统入口
12306选座怎么选到商务座_12306商务座选择与配置说明
J*a TimerTask文件监控:HashMap状态管理与常见陷阱规避指南
ACG动漫视频网入口 ACG动漫*免费正版观看地址
提升Kafka消费者健壮性:会话超时处理与消息处理语义
解决Bootstrap卡片顶部边距导致背景图下移的问题
J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
在J*aScript中复现SciPy的B样条拟合与求值:关键考量
React中useState与局部变量:理解组件状态管理与渲染机制
红果短剧网页版官网入口 官方最新网址发布
漫蛙2正版漫画站 漫蛙2网页版快速访问入口
一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
2026春节假期时间安排 2026春节假日查询


2025-11-20
浏览次数:次
返回列表
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>