webkitSpeechRecognition «отстает» при сборе результатов

Имел зуд попробоватьAPI веб-речи, Я скопировал код именно из статьи, и у меня возникла проблема, когда вы говорите, но ничего не происходит, пока вы говорите СНОВА.

[Fiddle:http://jsfiddle.net/w75v2tm5/]

JS:

if (!('webkitSpeechRecognition' in window)) {
    //handle error stuff here...
} else {
    var recognition = new webkitSpeechRecognition();
    recognition.continuous = true;
    recognition.interimResults = false;

    recognition.start();

    var final_transcript = '';

    recognition.onresult = function (event) {
        var interim_transcript = '';
        if (typeof (event.results) == 'undefined') {
            recognition.onend = null;
            recognition.stop();
            upgrade();
            return;
        }
        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;
            }
        }
        document.getElementsByTagName('div')[0].innerText = final_transcript;
    };

}

Например, если бы я сказал «Hello world», <div>, который я настроил для отображения результатов, не отобразил бы «Hello world», пока я не скажу что-нибудь еще или не издаю звук. Но если бы я сказал что-то еще, ЭТО не было бы отображено, пока я не сказал что-то еще СНОВА.

Переменная "final_transcript" содержит ПРЕДЫДУЩИЙ результат, а не то, что я только что сказал. Это только на 1.

Чтобы дать вам лучшую идею ...

Я: "Привет, мир"

final_transcript = '';

[Подождите...]

Я: «Тест»

final_transcript = 'Привет, мир'

И это только продолжается. Код не может расшифровать то, что я говорю, поскольку я говорю это. Очень странно.

Есть мысли о том, почему это может быть?

Ответы на вопрос(1)

Ваш ответ на вопрос