Нужно чтоб микрофон работал постоянно.
// Создаем распознаватель
var recognizer = new webkitSpeechRecognition();
// Ставим опцию, чтобы распознавание началось ещё до того, как пользователь закончит говорить
recognizer.interimResults = true;
// Какой язык будем распознавать?
recognizer.lang = 'ru-Ru';
recognizer.onsoundstart = true;
// Используем колбек для обработки результатов
recognizer.onresult = function (event) {
var result = event.results[event.resultIndex];
if (result.isFinal) {
if (result[0].transcript == "перейти на главную") {
var synth = window.speechSynthesis;
var utterance = new SpeechSynthesisUtterance('Переход выполнен');
synth.speak (utterance);
location.href="http://localhost/test/home.php";
}else if (result[0].transcript == "перейти в мой аккаунт") {
var synth = window.speechSynthesis;
var utterance = new SpeechSynthesisUtterance('Переход выполнен');
synth.speak (utterance);
location.href="http://localhost/test/accaunt.php";
}else{
var synth = window.speechSynthesis;
var utterance = new SpeechSynthesisUtterance('Не могу понять, обновите страницу и попробуйте снова');
synth.speak (utterance);
recognizer.start();
}
} else {
console.log('Промежуточный результат: ', result[0].transcript);
}
};
// Начинаем слушать микрофон и распознавать голос
recognizer.start();
В чем заключается проблема. Код работает в течении 20 сек с открытия сайте и отключается, после получение конечного результата отключается и не включается пока не обновишь страницу. Пробовал вставить в цикл, дублировал код в if нечего не помогало.