У меня есть приложение с параметрами 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(@"");
}