Я использую реакцию, и вот некоторый код для TTS (текст в речь). Он отлично работает на Windows и macOS, а также на некоторых версиях устройств iOS. Но для некоторых устройств iOS настройка голоса просто не работает.
<a
className="button"
onClick={() => {
var u = new SpeechSynthesisUtterance();
var voices = speechSynthesis.getVoices();
const voice = voices.filter(voice => {
return voice.lang === "zh-CN";
});
u.voice = voice[0];
u.lang = "zh-CN";
u.text = "1234";
speechSynthesis.speak(u);
}}
>
Speak!!
</a>
Вот что я получил в результате отладки. Если я использую getVoices(), я могу получить много голосов (включая те, которые мне нужны). Но установка свойства lang или свойства voice в произнесении просто не имеет никакого эффекта. И всегда будет использоваться системный голос по умолчанию.
Это какая-то ошибка в системе iOS? Если да, то есть ли обходные пути? Как какие-то компоненты на реакцию?