SpeechSynthesisUtterance

SpeechSynthesisUtterance

iOS 13(Safari和WkWebView)中似乎存在一个错误,该错误使iOS使用设备语言语音,而无法通过查看SpeechSynthesisUtterance中提供的“lang”来找到合适的语音。

我通过自己设置适当的声音来解决此问题。

其他浏览器/平台(例如macOS Safari,iOS

       this._getUtteranceRate().then((rate) => {
          let utterance = new SpeechSynthesisUtterance(words);
          utterance.rate = rate;
          utterance.lang = 'sv-SE';
          utterance.voice = this.voice; //IOS13 fix
          window.speechSynthesis.speak(utterance);
        });


       window.speechSynthesis.onvoiceschanged = () => {
         this.setVoice();
       }

       setVoice() {
            this.voice = window.speechSynthesis.getVoices().find((voice) => {
              return voice.lang === 'sv-SE';
       });
  }

最佳答案

似乎需要在iOS13的SpeechSynthesisUtterance上显式设置语音,因为不使用语言环境来查找语音。

关于ios - iOS13 Safari WebSpeechApi错误:SpeechSynthesisUtterance将不会使用提供的语言环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59730586/

10-11 19:52