Запуск AVAudioPlayer, когда приложение находится в фоновом режиме - PullRequest
1 голос
/ 01 января 2012

У меня есть приложение с параметрами App plays audio и App provides Voice over IP services, настроенными в .plist.

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

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

В чем проблема, чтобы начать воспроизведение звука, когда приложение находится в фоновом режиме?

Вот мой код обработки события, когда мое приложение запускается в фоновом режиме:

NSError *error;
NSURL *audioFileLocationURL = [[NSBundle mainBundle] URLForResource:@"HeadspinLong" withExtension:@"caf"];
if (audioPlayer != nil) return;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
audioPlayer.delegate=self;
if (error) {
    NSLog(@"%@", [error localizedDescription]);
}
audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive: YES error: &error];
audioSession.delegate=self;
if (error) {
    NSLog(@"");
}

Ответы [ 2 ]

0 голосов
/ 16 октября 2012

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

0 голосов
/ 01 января 2012

Кажется очевидным вопросом, но вы на самом деле вызываете метод play для объекта audioPlayer в вашем реальном приложении? Возможно в конце обработчик фоновых событий?

т.е. [audioPlayer play];

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