JavaScript-webkitSpeechRecognition,无限听

时间:2018-12-18 22:19:03

标签: javascript speech-recognition

我正在用JavaScript进行webkitSpeechRecognition,而且效果很好,但是我遇到了一个问题:我希望始终在加载页面时启动语音识别,并且在每个单词之后都将其打印在控制台日志上。

即使尝试了while等,我也无法使程序打印每个单词。

这是我到目前为止的想法:

<script>
    function startDictation() {
        if (window.hasOwnProperty('webkitSpeechRecognition')) {

            var recognition = new webkitSpeechRecognition();

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

            recognition.lang = "en-US";
            recognition.start();
            recognition.onresult = function(e) {
                //recognition.stop();
                understand(e.results[0][0].transcript);
            };

            recognition.onerror = function(e) {
                //recognition.stop();
            }
        }
    }
    window.onload = startDictation;
    function understand(msg) {
        console.log(msg);
        //startDictation();
    }
</script>

1 个答案:

答案 0 :(得分:0)

尝试更换

 recognition.interimResults = false;

使用

 recognition.interimResults = true;

您需要将中期结果设置为true。它可能不会一个字一个字地给您,但会在被识别时给出短语。您可以在 Voice Driven Web Apps: Introduction to the Web Speech API

上查看更多内容