iOS – AVAudioSession后台路由更改通知

尽管有很多关于这个主题的post( AVPlayer和AVAudioSession , 在AppDelegate.m中设置AVAudioSession类别 , AvAudioSession在iOS7中不起作用? ),我无法在iOS 7中解决这个特定问题:
– 我想在后台收到AVAudioSession路线变更通知
– 我的应用程序在任何时候都没有播放任何音乐,也不应该干扰播放声音的其他应用程序

设置:
– 在p-list UIBackgroundModes中启用音频
– 在主控制器中:

// AUDIO AVAudioSession *audioSession = [AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil]; [audioSession setActive:YES error:nil]; // NOTIFICATIONS [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioSessionRouteChanged:) name:AVAudioSessionRouteChangeNotification object:nil]; 

这在前台工作正常,所以我必须缺少一些简单的启用背景通知。 我尝试了几个不同的类别,从AVAudioSessionCategoryAmbient开始,没有运气。

播放声音时只接收背景通知是否有限制?

谢谢你的帮助!

更新需要播放AVPlayer才能在后台接收通知。 不幸的是,这是不可行的,期待通过播放一个无法接受苹果的无声音轨……

如果您在后台而不播放音乐,则会暂停您的应用。 您无法接收通知或其他任何内容。 如果您有任何通知,则会在您的应用再次激活时发送通知。