Как приостановить / возобновить звук, когда iphone заблокирован / разблокирован - PullRequest
0 голосов
/ 12 апреля 2009

Вот что сейчас происходит в моем приложении:

Блокировка: нажата кнопка блокировки iPhone -> Звук приостановлен
Разблокировка: нажата кнопка «iPhone разблокирована» -> «Возобновление звука» -> «Слайд для разблокировки» -> «Появляется приложение»

Я хочу, чтобы последовательность разблокировки была:

Разблокировка: нажатие кнопки iPhoneUnlock -> Слайд для разблокировки -> Возобновление звука -> Отображение приложения

Я использую OS 2.2.1 и AVFoundation Framework, и вот что я уже попробовал:

  • Я пытался использовать обратные вызовы applicationWillResignActive и applicationDidBecomeActive для AppDelegate, он не работает. Хотя applicationDidBecomeActive вызывается в нужное время (т. Е. Когда пользователь скользил, чтобы разблокировать устройство), звук возобновляется, как только нажимается кнопка разблокировки (я полагаю, это из-за аудиосеансов), поэтому я попытался:

  • Я реализовал селекторы audioPlayerBeginInterruption и audioPlayerEndInterruption в AVAudioPlayerDelegate, похоже, что эти методы никогда не вызываются (я сделал вызовы журнала). Я уверен, что правильно настраиваю делегата, так как audioPlayerDidFinishPlaying правильно вызывается после завершения воспроизведения аудиофайла.

P.S: я тестирую на устройстве, если это не было очевидно

Ответы [ 2 ]

0 голосов
/ 01 октября 2010

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

0 голосов
/ 03 ноября 2009

Они, очевидно, вызываются только тогда, когда аудио сеанс был прерван, то есть, если вы проигрывали аудио, и он прерывается другим аудио, которое запрашивает активный сеанс. Вкратце: им не звонят, когда телефон становится неактивным, но они звонят, когда вы, например, получаете звонок. Но даже тогда их вызывают только тогда, когда AVAudioplayer был активен в то время. Я все еще борюсь с этой дерьмовой системой ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...