applicationMusicPlayer останавливается, когда пользователь блокирует экран на iOS 5 - PullRequest
0 голосов
/ 05 октября 2011

Я установил категорию аудио-сеанса на kAudioSessionCategory_MediaPlayback, активировал сеанс, который не возвращает ошибок, и все равно музыка iPod останавливается, когда я блокирую устройство.Это происходит на iOS 5 GM, поэтому я думаю, что это произойдет в финальной версии.На iOS 4+ текущий код работает нормально.Любые идеи, как это исправить?Огромное спасибо:)

Ответы [ 2 ]

2 голосов
/ 23 декабря 2011

Исправлена ​​эта проблема для моей конкретной проблемы - как обнаружить разницу между поведением OS4 и OS5, когда устройство выходит на экран блокировки.

В OS4 приложение выполняет 'applicationWillResignActive', но в OS5 оно полностью переходит к 'applicationDidEnterBackground', которое выглядит точно так же, как пользователь нажимает кнопку Home.

Оказывается, что если вы проверяете UIApplicationState приложения, указанного в '- (void) applicationDidEnterBackground: (UIApplication *) application', у него есть 3 возможных значения:

typedef enum {
   UIApplicationStateActive,
   UIApplicationStateInactive,
   UIApplicationStateBackground
} UIApplicationState;

Когда пользователь попадает домой в OS5, вы получаете UIApplicationStateBackground, но когда пользователь нажимает Lock, вы получаете UIApplicationStateInactive.

Надеюсь, это поможет.

С праздником всех.

2 голосов
/ 19 октября 2011

Это не ошибка. Для экономии энергии блокировки телефон теперь обрабатывается так, как будто пользователь нажал кнопку «Домой». Тот факт, что applicationMusicPlayer останавливается сейчас, когда блокировка является лишь побочным эффектом этого изменения.

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

...