iOS - уведомление об изменении маршрута AVAudioSession в фоновом режиме
Несмотря на множество постов на эту тему (AVPlayer & AVAudioSession,Установка категории AVAudioSession в AppDelegate.m,AvAudioSession выиграл 'работать в iOS7?), Я не смог решить эту конкретную проблему в iOS 7:
- Я хочу получать уведомления об изменении маршрута AVAudioSession в фоновом режиме
- мое приложение не воспроизводит музыку в любой момент и не должно мешать другим приложениям воспроизводить звук
Настройка:
- звук включен в p-списке 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. Так что это, к сожалению, не выполнимо, ожидайте, проиграв тихий трек, который Apple не принимает ...