Я пытаюсь создать Progressive Web App, и мне нужно реализовать в нем функцию непрерывного распознавания речи. Пока что он отлично работает на Chrome Настольном приложении, но не работает на моем мобильном телефоне. Он даже не спрашивает разрешения микрофона.
window.SpeechRecognition =
window.webkitSpeechRecognition || window.SpeechRecognition;
let finalTranscript = "";
let recognition = new window.SpeechRecognition();
//morjs.defineMode("smartjava", [".", "-", "", " ", "|"]);
//morjs.mode("smartjava", [".", "-", "", " ", "|"]);
recognition.interimResults = true;
recognition.maxAlternatives = 10;
recognition.continuous = true;
recognition.onresult = event => {
let interimTranscript = "";
for (let i = event.resultIndex, len = event.results.length; i < len; i++) {
let transcript = event.results[i][0].transcript;
if (event.results[i].isFinal) {
console.log(transcript);
morse(transcript);
// var encoded = morjs.encode({ message: transcript, mode: "simple" });
finalTranscript += transcript;
// var toPlay = playMorseCode(encoded);
// navigator.mozVibrate(toPlay);
} else {
//console.log(transcript);
//morse(transcript);
// var encoded = morjs.encode({ message: transcript, mode: "simp;e" });
interimTranscript += transcript;
// var toPlay = playMorseCode(encoded);
// navigator.mozVibrate(toPlay);
}
}
document.querySelector("test").innerHTML =
finalTranscript + '<i style="color:#ddd;">' + interimTranscript + "</>";
};
recognition.start();