https://developer.mozilla.org/en-US/docs/Web/API/S...
https://developer.mozilla.org/en-US/docs/Web/API/S...
Как вариант, слушать события
result
и
end
, и перезапускать SpeechRecognition:
const rec = new SpeechRecognition();
rec.addEventListener('result', () => {
// code
});
rec.addEventListener('end', () => recognition.start());
rec.start();
как принудительно его включить чтобы не отключался пока страница открыта?
На данный момент - никак. Поведение может варьироваться в зависимости от браузера и его версии. Рекомендуется руками обрабатывать соответствующие события и перезапускать SpeechRecognition.
при повторном использовании recognizer.start() - появляется диалоговое окно браузера спрашивающее о микрофоне - как этого избежать?
Если Вы не отзывали разрешение на странице или в рамках одной сессии браузера, - confirm (окно с запросом разрешения на использование оборудования) не должно появляться. Как избежать? - не запрашивать разрешение.
можно ли отключить это сообщение?
Это нативное окно браузера и находится вне контекста скриптов на странице.