简体   繁体   中英

WebSearch API speech recognition not working on Android Mobile

I'm trying to create a Progressive Web App and I need to implement a continuous speech recognition function in it. So far it works fine on Chrome Desktop application but it's not working on my mobile. It doesn't even ask for microphone permission.

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();

Depends on which browser you are using on mobile. At the moment it only works for Chrome on Android:

https://caniuse.com/#search=speechrecognition%20api

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM