Safari webkitSpeechRecognition 连续错误

问题描述 投票:0回答:0

我正在尝试使用 webkitSpeechRecognition 并将连续设置设置为 false(当用户停止说话时,webkitSpeechRecognition 自动停止)但是当我停止说话并且 webkitSpeechRecognition 停止时,使用 Safari iOS 和 macOS 仍然显示麦克风仍在收听。如果我手动启动和停止它,我就没有这个问题。f

为了让 Safari 识别麦克风不再收听,我必须再次启动和手动停止 webkitSpeechRecognition。

我做错了什么吗?有解决方法吗?

    let speechrecognition;
    if ("webkitSpeechRecognition" in window) {

        // set microphone to show
        speechrecognition = new webkitSpeechRecognition();

        // stop listening after the user stops speaking or it can keep listening until the user stops
        speechrecognition.continuous = false; 

        // interim results along with the final results
        speechrecognition.interimResults = true; 
    
    
    speechrecognition.onstart = () => {
      console.log ("started");
        };


        speechrecognition.onend = () => {
            console.log ("stopped");
            
        };


        let final_transcript = "";
        speechrecognition.onresult = (event) => {
            // Create the interim transcript string locally because we don't want it to persist like final transcript
            let interim_transcript = "";

            // Loop through the results from the speech recognition object.
            for (let i = event.resultIndex; i < event.results.length; ++i) {

                if (event.results[i].isFinal) {
                    final_transcript += event.results[i][0].transcript;

                    document.getElementsByClassName("dict")[0].innerHTML = final_transcript;

                } else {
                    interim_transcript += event.results[i][0].transcript;

                    document.getElementsByClassName("dict")[0].innerHTML = interim_transcript;
                }
            }

            final_transcript = "";

        };
    }
 
 
 <div class="dict"></div>
 
 <button onclick="speechrecognition.start();">start</button>
 
  <button onclick="speechrecognition.stop();">stop</button>

safari webkitspeechrecognition
© www.soinside.com 2019 - 2024. All rights reserved.