AudioQueueServices воспроизведение в фоновом режиме не работает

Используя AudioQueueServices для воспроизведения потокового MP3-файла, проигрыватель останавливается, когда приложение переключается в фоновый режим.

Я имею:

  • На панели "Режимы фона" страницы настроек проекта "Возможности" я включил "Аудио, AirPlay и картинка в картинке" и "Фоновая выборка".
  • На странице "Информация" в разделе "Пользовательские свойства цели iOS" добавлен узел "Необходимые фоновые режимы" с записями для "Приложение воспроизводит аудио или потоковое аудио / видео с помощью AirPlay" и "Приложение загружает контент из сети".

  • В код инициализации модуля плеера я включаю следующий вызов:

    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &error];

    который завершается без сигнализации об ошибке.

Согласно моим журналам, как только приложение переключается в фоновый режим, я прекращаю получать любые обратные вызовы, поэтому воспроизведение останавливается практически сразу после этого. Что мне нужно сделать, чтобы продолжить?

1 ответ

  1. Проверка AVAudioSession активна
  2. Проверка AudioQueueRef работает:

    UInt32 isRuning = NO;
    UInt32 size = sizeof(isRuning);
    AudioQueueGetProperty(inAQ, kAudioQueueProperty_IsRunning, &isRuning, &size);
    
Другие вопросы по тегам