AVSpeechSynthesizer在后台模式下
我的iOS应用程序处于后台模式时无法使iOS 7 AVSpeechSynthesizer
工作。 我已经添加了“ 应用程序播放audio ”键的应用程序的支持的背景模式,但我仍然无法得到它的工作。
我也调查了用AVMutableCompositionTrack
话语创build一个AVMutableCompositionTrack
的可能性,然后用一个能够在后台运行的玩家以某种方式玩它,但没有运气。
在后台使用AVSpeechSynthesizer
有没有人比我有更好的运气?
- 您必须在背景模式下设置“audio和AirPlay”。
- 您必须configurationaudio会话:
NSError *error = NULL; AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:&error]; if(error) { // Do some error handling } [session setActive:YES error:&error]; if (error) { // Do some error handling }
对于swift 3,导入AVKit(或AVFoundation)然后添加
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
viewWillAppear()。 这使得无论静音开关状态如何,在屏幕closures的情况下都可以播放audio。
*编辑:AVAudioSession在AVFoundation中定义,也可用于AVKit