IT评测·应用市场-qidao123.com技术社区

标题: 【工具】HTML主动识别用户正在讲话 以及制止讲话 [打印本页]

作者: 惊雷无声    时间: 2025-1-8 08:51
标题: 【工具】HTML主动识别用户正在讲话 以及制止讲话
【工具】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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4