iOS13 Safari WebSpeechApi错误:SpeechSynthesisUtterance将不使用提供的语言环境

问题描述 投票:0回答:1

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

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

[其他浏览器(例如,macOS Safari,iOS <13,Chrome等)不需要此功能

       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';
       });
  }

ios safari mobile-safari ios13 webspeech-api
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.