首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome的webkitSpeechRecognition随机结束

Chrome的webkitSpeechRecognition随机结束
EN

Stack Overflow用户
提问于 2016-07-05 22:04:55
回答 2查看 2K关注 0票数 1

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

这一切为什么要发生?我能阻止吗?

这是所有的代码,需要有一个语音识别页面(40行),并复制错误。当识别器停止侦听时,它将发出"end“警报。

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-06 08:44:56

谷歌试图限制处理的数据量,因为它加载了他们的服务器。结束后重新启动语音识别,或者使用一些离线处理(如Pocketsphinx.JS )

票数 1
EN

Stack Overflow用户

发布于 2017-04-06 10:27:45

首先,谷歌给出了60秒的录音时间,而且听起来很有效率,所以我建议你提高你的说话速度。如果您的演讲时间超过60秒,那么webkit将触发of ()函数,从而导致您的代码停止。无论哪种方式,如果您可以为on话and ()编写您自己的触发器,然后再次从内部调用您的函数,那么它应该会为您工作,因为它将启动一个新实例并继续您的文本,除非您清除它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38213580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档