SpeechSynthesis в приложении Cordova работает только один раз на iOS - PullRequest
0 голосов
/ 16 июня 2020

У меня есть приложение Ioni c 4 Cordova с требованием преобразования текста в речь. Я пробовал плагин cordova (https://github.com/vilic/cordova-plugin-tts), но голос оказался не тем, что нужно, поэтому я предпочел бы другой голос и поэтому хотел использовать API SpeechSynthesis браузера. В браузере это работает должным образом, но при попытке iOS работает только один раз.

Что с этим можно сделать? Или, может быть, есть другая альтернатива для интеграции текста в речь.

var synth = window.speechSynthesis;

let voices = synth.getVoices();
let voice = voices.find(voice => voice.name.indexOf("Samantha") !== -1);

var spk = new SpeechSynthesisUtterance(text);

spk.onstart = () => {
    console.log("speech started");
};
spk.onend = () => {
    console.log("speech ended");
};
spk.onerror = (event) => {
    console.error(event);
};
spk.voice = voice;

spk.pitch = 1;
spk.rate = 1;
spk.volume = 0.7;

synth.speak(spk);
...