js语音识别,语音转文字,speech recognition(需要翻墙才能识别)

news2024/11/18 21:40:27

先上代码

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <title>test</title>
</head>

<body>
  <div id="result">测试显示</div>
  <button id="transcribe-now" onclick="toggleSpeechRecognition()">Start</button>

  <!-- built files will be auto injected -->
</body>
<script>

   function toggleSpeechRecognition() {
    if (!window.webkitSpeechRecognition && !window.SpeechRecognition) {
      alert("Your browser does not support the SpeechRecognition API");
    }
    else if (window.transcriptionInProgress) {
      window.transcriptionInProgress.stop();
    }
    else {
      let btn = document.getElementById("transcribe-now");
      window.transcriptionInProgress = window.webkitSpeechRecognition ? new webkitSpeechRecognition() : new SpeechRecognition();
      window.transcriptionInProgress.lang = "zh-CN";
      window.transcriptionInProgress.interimResults = true;
      window.transcriptionInProgress.addEventListener("result", function (e) {
        const re = document.getElementById("result"); 
        re.innerHTML = e.results[0][0].transcript;
        console.log(e.results[0][0].transcript);
      });
      window.transcriptionInProgress.addEventListener("error", function (event) {
        console.error("语音识别失败",event.error);
      });
      window.transcriptionInProgress.addEventListener("end", function (e) {
        window.transcriptionInProgress = null;
        console.log("结束了");
        btn.innerHTML = '<i class="fa fa-circle"></i>Start';
      });
      window.transcriptionInProgress.addEventListener("start", function (e) {
        console.log("开始了");
        btn.innerHTML = '<i class="fa fa-square"></i>Stop';
      });
      window.transcriptionInProgress.start();
    }
  };
</script>

</html>

这个只能翻墙后,识别出说话的语音,否则会提示错误”network“,也是很不友好,这里记录一下踩过的坑

浏览器限制:

对于 Web Speech API speech recognition(语音识别) 的支持,在各浏览器中还不成熟,还在发展,现在主要的限制如下:

  • Firefox 桌面端和移动端在 Gecko 44+ 中都支持,并且是没有前缀的,它可以在about:config 中把 media.webspeech.recognition.enable 设置为 true 打开。权限设置/UI 还没有整理出来,所以权限还不能被用户使用,也就是不能用。不过很快会修复吧~
  • Firefox OS 2.5+ 也支持,但作为一个特权 API(privileged API) 需要权限,因此你需要在manifest.webapp (也可以通过 WebIDE 下载,或者使应用得到验证后在 Firefox Marketplace 可使用) 如下设置:

    JSONCopy to Clipboard

    "permissions": {
      "audio-capture" : {
        "description" : "Audio capture"
      },
      "speech-recognition" : {
        "description" : "Speech recognition"
      }
    }
    

    JSONCopy to Clipboard

    "type": "privileged"
    
  • Chrome 桌面端和 Android 端自 version 33 以来均支持,但是带有前缀,所以你需要使用带有前缀的版本,比如:webkitSpeechRecognition

运行html,直接点击start 就开始监听录音,大概1分钟后结束,如果没翻墙就识别不到,network错误,翻墙后,如果说话中断会自动结束监听,输出结果。

未翻墙的结果,具体也不知道为什么,看外网有说 Web Speech 语音 && 麦克风 - Xzavier's Blog | xiaohuazheng Blog | zhengxiaohua Blog

详细请访问官网api 使用 Web Speech API - Web API | MDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术与创意并驾齐驱:打造扭蛋机小程序的独特魅力

引言 扭蛋机小程序以其独特的玩法和吸引力&#xff0c;在移动互联网市场中崭露头角。本文将深入探讨如何通过技术与创意的并驾齐驱&#xff0c;打造扭蛋机小程序的独特魅力。 一、技术驱动&#xff1a;打造稳定高效的小程序平台 在扭蛋机小程序的开发过程中&#xff0c;技术是…

中国500米分辨率年平均LAI数据集(2000-2020)

叶面积指数LAI(Leaf Area Index)是描述植被冠层几何结构的基本参数之一&#xff0c;被定义为单位地表面积上所有叶片面积的倍数&#xff0c;它控制着植被的许多生物物理过程&#xff0c;如光合作用、呼吸作用、蒸腾作用、碳循环和降水截获等&#xff0c;是陆面过程一个十分重要…

推荐一个很好用的Latex写代码的软件

软件名称&#xff1a;Axmath 据说是国产软件&#xff0c;好用是真好用&#xff08;去哪找&#xff1f;比如某地球号的公主号或其他地方&#xff09;我是推荐付费购买使用 1.通过图形操作&#xff0c;选择要转成Latex代码的符号&#xff0c;按下转换&#xff0c;直接就出现了我…

植物大战僵尸杂交版V2.1快速刷金币的方法(新号适用,无需自带招财猫)

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 1. &#x1f4bb;游戏介绍 2. &#x1f525;快速刷取金币的办法&#xff08;我是新号测试的&#xff09; 2.1 无招财猫 2.2 有招财猫 《植物大战僵尸杂交版》是一款在原版《植物大战僵尸》基础上进行了创新的塔防…

『大模型笔记』如何让小型语言模型发挥作用!

如何让小型语言模型发挥作用! 文章目录 一. 如何让小型语言模型发挥作用!不可能的可能性小模型的潜力创新方法与突破实践与验证过滤系统与数据质量小模型的逐步改进信息理论蒸馏方法(新工作InfoSum)总结与展望Infini-Gram与N-gram模型的新时代后缀数组与高速计算二. 参考文献…

怪物猎人物语什么时候上线?游戏售价多少?

怪物猎人物语是一款全新的RPG游戏&#xff0c;玩家在游戏中将化身为骑士&#xff0c;不断与怪物建立羁绊、不断成长&#xff0c;踏上前往外面世界的旅程&#xff0c;且最终目的地是以狩猎怪物为生的猎人世界。因为最近有不少玩家在关注这款游戏&#xff0c;所以下面就给大家分享…

Linux 式套娃,把“文件系统”安装在一个“文件”上?

背景 “文件”在文件系统之中&#xff0c;这是人人理解的概念。但“文件”之上还有一个文件系统&#xff1f;那岂不是成套娃了。但这个其实是可以的。这个就涉及到今天我们要讲的 loop 设备。 很多童鞋在学习 Linux 的文件系统时&#xff0c;涉及到对磁盘设备的格式化&#x…

2024年AIGC行业研究:多模态大模型与商业应用

2024年2月&#xff0c;OpenAI发布其首款视频生成模型Sora&#xff0c;用户仅需输入一段文字即可生成长达一分钟场景切换流畅、细节呈现清晰、情感表达准确的高清视频&#xff0c;与一年前的AI生成视频相比&#xff0c;在各维度均实现了质的提升。这一突破再次将AIGC推向大众视野…

JavaScript运行原理和执行过程

参考&#xff1a; https://www.cnblogs.com/hexrui/p/15939592.html 1、执行上下文栈&#xff08;调用栈&#xff09; GECGlobal Execution Context&#xff08;GEC&#xff09;被放入到ECS&#xff08;Execution Context Stack&#xff0c;简称ECS&#xff09;中 GEC开始执…

RLC防孤岛负载测试:市场前景展望

随着可再生能源的广泛应用&#xff0c;如太阳能和风能等&#xff0c;电力系统的结构正在发生深刻的变化。这种变化带来了许多新的挑战&#xff0c;其中之一就是如何有效地防止电力系统出现孤岛现象。为了解决这个问题&#xff0c;RLC防孤岛负载测试技术应运而生。 RLC防孤岛负载…

Git Extensions gui工具差异显示乱码

某些IDE例如KEIL等默认编码格式为GB2312&#xff0c;而git extensions默认utf-8&#xff0c;如果不想修改文件格式为utf-8的话就修改git extensions格式为GB2312。 默认是没有chines 这个选项的&#xff0c;我这里是已经添加好的。方法为上方工具栏->设置->Git->设置…

css 文字两端对齐

<body><div class"box"><p>姓名</p><p>性与别</p><p>家庭住址</p><p>how are you</p><p>hello</p><p>1234</p><p>1 2 3 4</p></div> </body> text-a…

走嵌入式方向有必要参加数模的比赛,涨一下见识吗?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;参加数模&#xff08;数学…

JAVA二手车交易二手车市场系统源码支持微信小程序+微信公众号+H5+APP

&#x1f697;二手车交易系统小程序&#xff1a;让买卖更轻松&#x1f50d; 功能介绍 我的粉丝、我的关注、获赞、访客 我的动态、认证中心、我的团队、开通会员 免费估值、买二手车、我要卖车、车型选择 每日上新、底价专区、精准筛选、附近展厅商 车辆的详细信息、拨打电…

前端高级架构师课程(总共111门课程,1150GB)

由阿里P8前端架构师亲自精心筛选整理的全网最新最具价值的前端进阶学习课程&#xff01; 培训机构原版教程&#xff01; 课程知识点和一线大厂完美匹配&#xff01; 所有课程资源完整成套&#xff0c;不残缺&#xff0c;不拼凑&#xff0c;不拆开乱发&#xff01; 这系列课程包…

UI自动化测试实战

目录 1 自动化测试流程2 项目介绍2.1 项目功能和技术2.2 项目简介2.3 用例设计2.4 编写代码2.4.1 公共方法2.4.2 抽取PO 2.5 视频 1 自动化测试流程 步骤&#xff1a; 需求分析挑选适合做自动化测试的功能【人力不足时&#xff0c;选择冒烟测试】设计并筛选测试用例搭建自动化…

JMemter镜像下载地址

腾讯软件源&#xff1a; https://mirrors.cloud.tencent.com/ JMemter镜像下载地址&#xff1a; https://mirrors.cloud.tencent.com/apache/jmeter https://mirrors.cloud.tencent.com/apache/jmeter/binaries

信创服务器操作系统的适配迁移分析

浅谈信创服务器操作系统的适配迁移 01 服务器操作系统迁移适配流程复杂 随着CentOS停服临近和红帽RHEL源码权限受限&#xff0c;服务器操作系统安全漏洞风险加剧。国内众多企业面临CentOS、REHL等系统升级替换的挑战。同时&#xff0c;出于安全、功能升级和合规需求&#xff0…

企业数据资产入表操作指引

在数字经济时代&#xff0c;数据已成为企业的关键生产要素&#xff0c;其管理和应用至关重要。数据资产入表操作涉及复杂的评估和管理过程&#xff0c;企业需要遵循合规性、真实性和透明性的原则。本指南旨在为企业提供系统化的操作指导&#xff0c;帮助实现数据资产的高效管理…

ARM32开发-fat_fs文件系统

FAT_FS 文件系统 FAT (File Allocation Table) 文件系统是一种广泛使用的基于磁盘的文件系统,尤其适用于小型嵌入式系统和存储卡。FAT_FS 就是一个专门针对 FAT 文件系统的开源实现。 FAT_FS 的主要特点 轻量级和高度可移植: FAT_FS 是一个非常轻量级的文件系统实现,占用资源少…