【工具】HTML主动识别用户正在讲话 以及制止讲话

打印 上一主题 下一主题

主题 826|帖子 826|积分 2478

【工具】HTML主动识别用户正在讲话 以及制止讲话
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>语音识别</title>
  7. </head>
  8. <body>
  9.     <h2>点击按钮开始语音识别</h2>
  10.     <button id="startButton">开始识别</button>
  11.     <p id="status">等待用户讲话...</p>
  12.     <script>
  13.         let recognition;
  14.         let isRecognizing = false;
  15.         // 检查浏览器是否支持 Web Speech API
  16.         if (!('webkitSpeechRecognition' in window)) {
  17.             alert("抱歉,您的浏览器不支持语音识别!");
  18.         } else {
  19.             recognition = new webkitSpeechRecognition();
  20.             recognition.continuous = true;  // 设置为持续模式,识别一段时间后不会停止
  21.             recognition.interimResults = true;  // 获取中间结果
  22.             // 语音识别开始时
  23.             recognition.onstart = function() {
  24.                 isRecognizing = true;
  25.                 document.getElementById('status').innerText = "正在识别中...";
  26.             };
  27.             // 语音识别结束时
  28.             recognition.onend = function() {
  29.                 isRecognizing = false;
  30.                 document.getElementById('status').innerText = "停止识别,等待用户讲话...";
  31.             };
  32.             // 识别到语音时
  33.             recognition.onresult = function(event) {
  34.                 let result = event.results[event.resultIndex];
  35.                 let transcript = result[0].transcript;  // 获取识别的文本
  36.                 console.log("识别结果:", transcript);
  37.                
  38.                 // 如果有中间结果,可以实时更新
  39.                 if (event.results[0].isFinal) {
  40.                     document.getElementById('status').innerText = "识别结果: " + transcript;
  41.                 }
  42.             };
  43.             // 点击按钮开始识别
  44.             document.getElementById('startButton').addEventListener('click', function() {
  45.                 if (isRecognizing) {
  46.                     recognition.stop();  // 停止识别
  47.                     document.getElementById('status').innerText = "已停止识别。";
  48.                 } else {
  49.                     recognition.start();  // 开始识别
  50.                 }
  51.             });
  52.         }
  53.     </script>
  54. </body>
  55. </html>
复制代码







免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表