Ios 同时使用AVSpeechSynthesizer的两个实例

Ios 同时使用AVSpeechSynthesizer的两个实例,ios,swift,avspeechsynthesizer,avspeechutterance,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 = AV

我想同时使用两个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()
时,文本不会同时读取,而是一个接一个地读取

我想同时使用两个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)
}
这在iOS 12中绝对不可能,一次只能对一个语音合成进行语音处理

不过,可以和语音合成一起播放