Как начать играть музыку, когда приложение уже в фоновом режиме? - PullRequest
2 голосов
/ 20 августа 2011

Я пишу приложение, которое должно воспроизводить звук в качестве реакции на изменение местоположения пользователя.

когда приложение работает в основном фокусе (не в фоновом режиме), все работает хорошо извук воспроизводится правильно с помощью AVAudioPlayer.

если я заставлю приложение перейти на задний план (нажатием кнопки home), звук продолжит воспроизводиться (я изменил файл info.plist и использовал [[AVAudioSession sharedInstance]setCategory: AVAudioSessionCategoryPlayback error: nil]; чтобы сделать это возможным).

моя проблема в том, что если событие GPS происходит, когда приложение уже находится в фоновом режиме, звук никогда не воспроизводится (даже когда приложение возвращаетсяк основной цели) все, хотя я могу видеть в консоли, что событие GPS было захвачено, и когда я отлаживаю с использованием точек останова, я вижу, что код, который должен воспроизводить музыку, уже сформирован, но музыка все равно не воспроизводится.

мой вопрос: как я могу заставить приложение начать воспроизводить звук, когда он не находится в основном фокусе (на заднем плане)?

Ответы [ 2 ]

0 голосов
/ 20 августа 2011

Я думаю, вам просто нужно объявить ваше приложение как аудио приложение. Вы можете сделать это, добавив ключ UIBackgroundMode со значением audio в файл info.plist.

0 голосов
/ 20 августа 2011

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

...