新闻中心

J*aScript语音识别_WebSpeechAPI应用

2025-11-21
浏览次数:
返回列表
首先检查浏览器是否支持Web Speech API,接着创建SpeechRecognition实例并配置语言、连续识别等参数,通过监听onresult事件获取语音转文字结果,结合start()和onend事件实现持续识别,注意需在HTTPS环境下运行并获取麦克风权限,适用于Chrome和Edge等主流浏览器。

javascript语音识别_webspeechapi应用

Web Speech API 提供了浏览器端的语音识别功能,让开发者可以轻松集成语音输入能力到网页应用中。其中,SpeechRecognition 接口是实现语音转文字的核心。下面介绍如何使用 J*aScript 和 Web Speech API 实现基本的语音识别功能。

启用语音识别的基本步骤

要使用 Web Speech API 的语音识别功能,需创建一个 SpeechRecognition 实例(在部分浏览器中为 webkitSpeechRecognition),并配置相关事件回调。

  • 检查浏览器是否支持 SpeechRecognition
  • 创建识别实例,并设置连续识别和是否返回中间结果
  • 监听 onresult 事件获取识别文本
  • 通过 start() 启动识别,stop() 停止识别

示例代码:

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

// 连续识别模式
recognition.continuous = true;

// 返回中间结果(比如正在识别中的文字)
recognition.interimResults = true;

// 设置语言
recognition.lang = 'zh-CN';

recognition.onresult = (event) => {
  const transcript = Array.from(event.results)
    .map(result => result[0])
    .map(result => result.transcript)
    .join('');

  console.log('识别结果:', transcript);
};

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

// 开始识别
recognition.start();

常见配置与事件说明

通过设置不同的属性和监听事件,可以控制识别行为并处理各种状态。

  • continuous:设为 true 时持续监听,直到手动停止
  • interimResults:true 表示返回中间结果,可用于实时显示“正在听写”效果
  • lang:指定识别语言,如 'zh-CN' 中文,'en-US' 英文
  • onstart:识别开始时触发
  • onend:识别结束时触发,可在此重新启动
  • onerror:发生错误时调用,例如无权限或网络问题

实用技巧:可在 onend 中自动重启识别,实现持续监听效果:

recognition.onend = () => {
  console.log('识别已结束,尝试重启');
  recognition.start(); // 持续监听
};

权限与兼容性注意事项

语音识别依赖麦克风访问权限,且目前主要在基于 Chromium 的浏览器中支持较好。

TTS-Voice-Wizard TTS-Voice-Wizard

TTS语音向导是一种工具,允许用户通过微软Azure语音识别和TTS将语音转换为文本,然后再转换回语音

TTS-Voice-Wizard 92 查看详情 TTS-Voice-Wizard
  • 必须在 HTTPS 环境下运行(本地开发时 localhost 例外)
  • 首次使用会提示用户授权麦克风
  • Chrome、Edge 支持良好;Safari 部分支持;Firefox 不支持 SpeechRecognition
  • 移动端 Android Chrome 支持,iOS Safari 支持有限

可通过判断全局对象是否存在来检测支持情况:

if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {
  alert('当前浏览器不支持语音识别,请使用 Chrome 或 Edge');
}

实际应用场景举例

语音识别可用于搜索框输入、语音指令控制、语音笔记记录等场景。

例如,为输入框添加语音按钮:

document.getElementById('voice-btn').onclick = () => {
  recognition.start();
};

recognition.onresult = (event) => {
  const spokenText = event.results[0][0].transcript;
  document.getElementById('input-field').value = spokenText;
};

基本上就这些。只要注意权限、协议和浏览器兼容性,Web Speech API 能快速实现可用的语音输入功能。

以上就是J*aScript语音识别_WebSpeechAPI应用的详细内容,更多请关注其它相关文章!


# 可用于  # 玉林seo工具  # 会员营销短信推广  # 企业应急预案网站建设  # 天津企业网站优化定制  # 北城新区营销推广中心电话  # 康平企业网站建设  # 外贸营销推广公司清镇  # 全国网站建设网站设计  # 网站推广优化运营方案  # 网络营销seo营销  # 适用于  # 设为  # 在此  # 首次  # 语音识别  # 是一种  # 掩码  # 移除  # 不支持  # 自动  # 浏览器端  # win  # ios  # safari  # edge  # 浏览器  # android  # java  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 地铁跑酷免费秒玩入口链接 地铁跑酷小游戏免费秒玩网站  字由网在线版登录地址 字由网网页版安全入口  如何更改在 Excel 中打开超链接时的默认浏览器  处理动态列数据:J*a ArrayList的正确初始化与字符累加教程  Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性  《马克思佩恩3》早期版本曝光 UI设计曾多次调整!  学习通网页版快速入口 学习通官网网页版直接打开  Django模型中自动计算可用余额的实现方法  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  在Blazor WebAssembly应用中动态注入客户端特定指标代码的策略  初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解  Node.js CSV 数据处理:基于字段值条件过滤整条记录的策略  反效果?《战地6》免费试玩开启后玩家数不升反降  腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址  漫蛙2正版漫画站 漫蛙2网页版快速访问入口  漫蛙漫画登录站点 漫蛙2正版漫画快速访问  CSS Box Model与弹性按钮:维持布局稳定的动画实践  Python中高效访问嵌套字典与列表中的键值对  漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道  小米Civi 4录制视频过暗_小米Civi 4亮度优化  怎么在mac上运行html代码_mac运行html代码方法【指南】  曝R星经典之作开发图 设计简陋但信息密集!  谷歌google账号注册详细步骤 谷歌账号注册官方教程  Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略  痛风发作了怎么办? 快速止痛和后期饮食调理  Yandex浏览器官方网页版入口 Yandex浏览器最新版官网  《刺客信条:影》PS5 Pro和Switch 2画面对比  生成rdflib自定义SPARQL函数:参数匹配与实践指南  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接  学习通网页版官方登录 超星学习通电脑端入口指南  深入理解Promise链:如何在catch后中断then的执行  使用 Pandas 高效处理 .dat 文件:字符清理与数据计算  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践  手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析  excel如何生成目录 excel一键生成工作表目录超链接  c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧  css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  J*a应用程序首次运行自动创建文件与目录的最佳实践  深入理解J*a编译器的兼容性选项:从-source到--release  12306选座系统怎么选连座_12306选座多人连坐操作方法  PostgreSQL海量数据高效导入策略:Python与Django实践指南  c++中的std::basic_string的SSO优化_c++短字符串优化深度解析  Win10磁盘清理工具在哪 Win10打开并使用磁盘清理【教程】  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  必由学官网快捷入口 必由学网页版在线学习平台  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  微博网页版主页入口 微博官方网站免登录访问  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  狙击外星人小游戏开始_狙击外星人小游戏立即开始 

搜索