适用于APP在后台持续播放本地音乐,或者使用AVSpeechSynthesizer在后台能播报语音的情况。(关于语音播报字符串参考https://blog.csdn.net/qq_25639809/article/details/89635216)
打开Targets–>Capabilities–>BackgroundModes开关,选择第一行audio选项
在AppDelegate的didFinishLaunchingWithOptions方法中添加自定义方法configAudio:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self configAudio];
}
- (void)configAudio {
//处理后台不能播报语音的问题
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
//后台播放
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
}