Posts

Post not yet marked as solved
1 Replies
I don't known AVSpeechSynthesizer much, maybe what I said was not accurate. I found that MPRemoteCommandCenter did only work after AVSpeechSynthesizer first spoke something, so I though maybe a workaround was invoking AVSpeechSynthesizer with speaking an empty word after the preparation had done. let utterance = AVSpeechUtterance(string: "") // notice that initializing AVSpeechUtterance with empty string utterance.rate = 0.5 utterance.pitchMultiplier = 0.8 utterance.postUtteranceDelay = 0.2 utterance.volume = 0.8 utterance.voice = AVSpeechSynthesisVoice(language: "en-US")! speechSynthesizer.speak(utterance) After that, your MPRemoteCommandCenter may take control.