我正在使用react,这是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(),我会得到很多声音(包括我想要的声音)。但是在Utterance中设置lang属性或voice属性只是没有任何效果。并且它将始终使用系统默认的语音。
这是iOS系统上的某种错误吗?如果是这样,是否有任何解决方法?像某些组件上的反应?
答案 0 :(得分:0)
似乎此问题特定于iOS 12系统。不得不切换到AWS Polly。