Chrome的webkitSpeechRecognition随机终止

唐·P

我正在使用Web Speech API捕获网页上的语音命令,但是识别器在一段时间后结束(它停止监听并触发onend事件)。

为什么会这样?我可以预防吗?

这是拥有语音识别页(40行)并重现错误所需的所有代码。当识别器停止收听时,它将提示“结束”。

<h1>Voice Recognizer</h1>

<script>

if (!('webkitSpeechRecognition' in window)) {
    alert('Your browser does not support speech recognition.');
} else {
    var recognition = new webkitSpeechRecognition();

    recognition.continuous = true;
    recognition.interimResults = true;

    recognition.onstart = function() {
        console.log('started');
    }

    recognition.onresult = function() { 
        interim_transcript = '';

        for (var i = event.resultIndex; i < event.results.length; ++i) {
            if (event.results[i].isFinal) {
                final_transcript += event.results[i][0].transcript;
            } else {
                interim_transcript += event.results[i][0].transcript;
            }
        }

        console.log('interim result:', interim_transcript);
        console.log('final reuslt:', final_transcript);
    }

    recognition.onerror = function() { alert('error'); }

    recognition.onend = function() { alert('end'); }

    function startListening(e){
        final_transcript = '';
        recognition.start();
    }

    startListening();
}

</script>
尼古拉·希米列夫(Nikolay Shmyrev)

Google试图限制已处理数据的数量,因为它会加载其服务器。结束后重新启动语音识别,或使用某些脱机处理,如Pocketsphinx.JS

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章