Как возобновить звук, когда iphone заблокирован / разблокирован и приложение было в фоновом режиме - PullRequest
0 голосов
/ 08 апреля 2011

Это так: я создал приложение, использующее библиотеку Audio Streamer , которая считывает аудиофайл с удаленного сервера, но проблема возникает только в том случае, если я делаю это:

  1. Запустить приложение
  2. Запустить подкаст (аудиопоток)
  3. Пауза
  4. Поместить приложение на задний план (кнопка «Домой»)
  5. Блокировка телефона
  6. разблокировать его
  7. Повторная активация приложения

И только тогда мой поток будет остановлен. Я пытаюсь достичь состояния паузы, но не могу этого сделать.

Это происходит, только если я помещаю приложение в фоновый режим, если нет, и я блокирую / разблокирую iPhone, все снова в порядке. Если я приостановлю поток, затем переведу приложение в фоновый режим (кнопка «Домой»), а затем приложение выйдет из фонового состояния, все в порядке.

Итак, эта проблема возникает только в том случае, если происходят следующие две вещи: приложение отправлено в фоновый режим + блокировка / разблокировка iphone

1 Ответ

0 голосов
/ 05 марта 2012

он использует AVAudioPlayer под капотом? Если это так, вам нужно обработать протоколы AVAudioPlayerDelegate:

- (void) audioPlayerBeginInterruption: (AVAudioPlayer *) player {

и

- (void) audioPlayerEndInterruption: (AVAudioPlayer *) player {

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

Вот ссылка https://developer.apple.com/documentation/avfoundation/avaudioplayerdelegate

...