JavaScript - webkitSpeechRecognition, бесконечное прослушивание - PullRequest
0 голосов
/ 19 декабря 2018

Я делаю webkitSpeechRecognition с JavaScript, и у него все отлично, но я столкнулся с проблемой: я хочу, чтобы мое распознавание речи начиналось при постоянной загрузке страницы и после каждого слова печатал ее в журнале консоли.

Я не мог заставить свою программу печатать каждое слово, хотя я пытался с помощью 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 голосов
/ 19 декабря 2018

Попробуйте заменить

 recognition.interimResults = false;

на

 recognition.interimResults = true;

Вам необходимо установить для промежуточных результатов значение true.Это может не дать вам слово за словом, но будет давать фразы по мере их распознавания.Вы можете увидеть больше на: Голосовые веб-приложения: Введение в Web Speech API

...