JS利用浏览器进行语言识别

<!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="startSpeechRecognition()">Start</button> <!-- built files will be auto injected -->
</body>
<script>
var i=0;
var recognition= window.webkitSpeechRecognition ? new webkitSpeechRecognition() : new SpeechRecognition();
recognition.lang = "zh-CN";
recognition.continuous = true;// 是否连续识别
recognition.interimResults = false;// 是否返回临时结果
recognition.addEventListener("result", function (e) {
const re = document.getElementById("result");
//re.innerHTML = e.results[0][0].transcript;
// console.log(e.results[0][0].transcript);
let result = ''
for(let i = 0;i <= e.resultIndex; i++) {
result += e.results[i][0].transcript;
}
console.log('' + i + '---' + e.results[e.resultIndex][0].transcript);
i++;
re.innerHTML = result });
recognition.addEventListener("error", function (event) {
console.error("语音识别失败",event.error);
});
recognition.addEventListener("end", function (e) {
// window.transcriptionInProgress = null;
console.log("结束了");
recognition.start();//浏览器会弹出使用麦克风确认对话框,很烦
btn.innerHTML = '<i class="fa fa-circle"></i>Start';
});
recognition.addEventListener("start", function (event) {
console.log("开始");
}); function startSpeechRecognition() { let btn = document.getElementById("transcribe-now");
//recognition = window.webkitSpeechRecognition ? new webkitSpeechRecognition() : new SpeechRecognition();
recognition.start(); } </script> </html>

  

JS利用浏览器进行语言识别的更多相关文章

  1. js+Canvas 利用js 实现浏览器保存图片到本地

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JS 获取浏览器窗口大小

    JS 获取浏览器窗口大小 <script> // 获取窗口宽度 if (windows.innerWidth) { winWidth = windows.innerWidth; } els ...

  3. JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth

    常用: JS 获取浏览器窗口大小   // 获取窗口宽度 if (windows.innerWidth) winWidth = windows.innerWidth; else if ((docume ...

  4. CommonsChunkPlugin并不是分离第三方库的好办法(DllPlugin科学利用浏览器缓存)

    webpack算是个磨人的小妖精了.之前一直站在glup阵营,使用browserify打包,发现webpack已经火到爆炸,深怕被社区遗落,赶紧拿起来把玩一下.本来只想玩一下的.尝试打包了以后,就想启 ...

  5. js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面

    js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面 , 做手机端开发时,发现一个问题,有些浏览器,在网速比较慢的情况下,js文件没有加载完,后续的调用已经开始调用了, ...

  6. AngularJS进阶(十三)JS利用正则表达式校验手机号

    JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...

  7. js判断浏览器类型和版本

    原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgen ...

  8. webpack分离第三方库(CommonsChunkPlugin并不是分离第三方库的好办法DllPlugin科学利用浏览器缓存)

    webpack算是个磨人的小妖精了.之前一直站在glup阵营,使用browserify打包,发现webpack已经火到爆炸,深怕被社区遗落,赶紧拿起来把玩一下.本来只想玩一下的.尝试打包了以后,就想启 ...

  9. [JavaScript]JS屏蔽浏览器右键菜单/粘贴/复制/剪切/选中 [转载]

    前两天在解决一个项目缺陷时,突发感兴趣,了解一下~ 1 JS事件 document.oncontextmenu // 右键菜单 document.onpaste //粘贴 document.oncop ...

  10. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...

随机推荐

  1. 今日一学,sql优化,创建索引的优缺点

    收藏了,但是不打开,久而久之就忘了,今日一学!所谓是好记性不如烂键盘. ** 2024Java offer收割指南 ** sql优化 尽量避免使用 select * ,返回无用的字段会降低效率.优化方 ...

  2. 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题

    问题复现 项目上历史项目为解决漏洞扫描从Tomcat 6.0升级到了9.0版本,服务启动的日志显示如下警告,数据源是通过JNDI方式在server.xml中配置的,控制台上狂刷无法找到表空间的错误(没 ...

  3. optical simulation of quantum logic

    量子逻辑的光学模拟(PRA, 1998)  主机中<1998Cerf.pdf> 核心: 1. 用一个光子的多条路径的叠加态来表示n qubits, 那么实验上干涉仪所包含的路径数为 2^n ...

  4. Linux 安装idea

    前置 Idea2020 Xftp6 步骤 将压缩包通过Xftp6上传到/opt/idea 解压 启动/bin目录下的./idea.sh,配置jdk 此步骤需要在虚拟机的图形界面执行 编写hello.j ...

  5. VUE3刷新页面报错:Uncaught SyntaxError: Unexpected token ‘<‘

    今天用vue3配置嵌套路由时,发现刷新页面后,页面变为空白,打开控制台发现报错: Uncaught SyntaxError: Unexpected token '<' 解决方法: 修改vue.c ...

  6. Nuxt.js 应用中的 render:response 事件钩子

    title: Nuxt.js 应用中的 render:response 事件钩子 date: 2024/11/29 updated: 2024/11/29 author: cmdragon excer ...

  7. MySQL底层概述—10.InnoDB锁机制

    大纲 1.锁概述 2.锁分类 3.锁实战之全局锁 4.锁实战之表级锁(偏读) 5.锁实战之行级锁(偏写)-行级锁升级表级锁 6.锁实战之行级锁(偏写)-间隙锁 7.锁实战之行级锁(偏写)-临键锁 8. ...

  8. Vue.js 组件注册

    1.前言 本节讲述组件和2.x版本和3.x版本的注册方式 2.全局注册 2.x版本直接调用Vue.component()方法进行全局注册,所有Vue实例都能使用,包括其组件 //组件代码省略 var ...

  9. ORCA避障源码笔记

    参考资料 https://gamma.cs.unc.edu/ORCA/publications/ORCA.pdf https://gamma.cs.unc.edu/RVO2/ 数学知识 1.向量的点乘 ...

  10. Mysql8.0修改配置参数lower_case_table_names

    现象 今天在配置一个环境的数据库,所使用的系统要求该数据库 lower_case_table_names = 1 (对数据库表明.列名大小写不敏感) 我看了一下,在 Windows 上,默认值为 1. ...