繁体   English   中英

webkitSpeechRecognition无限循环

[英]webkitSpeechRecognition infinite loop

我正在为我的Web应用程序构建语音识别功能。 以下是我实现的代码:

if (!('webkitSpeechRecognition' in window)) {
    upgrade();
} else {
    var recognition = new webkitSpeechRecognition();
    recognition.continuous = true;
    recognition.interimResults = true;

    recognition.onend = function() {
        console.log("voice reco terminated");
        recognition.start();
    };

    recognition.onresult = function(event) {
        for (var i = event.resultIndex; i < event.results.length; ++i) {
            console.log(event.results[i][0].transcript);
        }
    }

    var rec_lang = 'fr-FR';
    recognition.lang = rec_lang;
    recognition.start();
}

我发现上面的代码非常简单明了,但是当我运行我的应用程序时,它会不断记录"voice reco terminated"记录"voice reco terminated" ,并且不会进行语音识别。 如果我拿走了recognition.start(); 内部recognition.onend 。解决问题的onend方法,但是在大约1分钟不活动之后识别就停止了。

recognition.start();的想法recognition.start(); 内部recognition.onend是在识别结束后重新启动识别。 我认为recognition卡在一个无限循环内,并带有recognition.start() 我该如何解决这个问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM