同时使用两个AVSpeechSynthesizer实例

时间:2019-04-10 22:12:36

标签: ios swift avspeechsynthesizer avspeechutterance

我想同时使用两个AVSpeechSynthesizer实例。

let firstSynthesizer = AVSpeechSynthesizer()
let secondSynthesizer = AVSpeechSynthesizer()

func foo() {
   let utterance = AVSpeechUtterance(string: "Foo Foo Foo Foo Foo")
   utterance.rate = 0.4
   utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
   firstSynthesizer.speak(utterance)
}

func bar() {
   let utterance = AVSpeechUtterance(string: "Bar Bar Bar Bar Bar")
   utterance.rate = 0.4
   utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
   secondSynthesizer.speak(utterance)
}

当我呼叫foo()bar()时,不是同时阅读文本,而是一次又一次地阅读。

1 个答案:

答案 0 :(得分:1)

  

我想同时使用两个AVSpeechSynthesizer实例。

在iOS 12中绝对不可能,一次只能语音处理一次语音合成

不过,an audio session可以与语音合成一起播放。