UIBackgroundModes не работает с рекламой - PullRequest
4 голосов
/ 20 февраля 2011

Я читаю документацию Apple о UIBackgroundModes, и вот что она говорит:

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

Однако у меня есть приложение, которое воспроизводит аудиопоток с использованием класса AVPlayer, и оно неработать с этим.Предполагается, что этот ключ находится там, чтобы спасти нас от точной реализации аудиосеанса.Может кто-нибудь сказать мне, почему это не работает тогда?Кто-нибудь использовал это и сделал эту работу?

Ответы [ 2 ]

4 голосов
/ 18 декабря 2011

Перед воспроизведением звука попробуйте сделать следующее:

NSError *sessionError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
0 голосов
/ 21 февраля 2011

Убедитесь, что код для AVPlayer действительно запущен. В моем случае, даже если я включил ключ для Core Location, если я на самом деле не использую в коде вызовы start, приложение приостанавливается, как если бы ключ не был определен. По этой причине я обычно не stop Core Location, а просто позволяю ему использовать наименее точный вариант для сохранения питания устройства, но продолжаю использовать фоновый режим работы.

...