Воспроизведение аудио во время приложения в фоновом режиме iOS
У меня есть приложение, в основном основанное на Core Bluetooth. Когда происходит что-то конкретное, приложение просыпается с использованием фоновых режимов Core Bluetooth и срабатывает будильник, однако я не могу включить будильник, когда приложение не на переднем плане.
У меня есть класс Alarm Singleton, который инициализируетAVAudioPlayer
как это:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:soundName
ofType:@"caf"]];
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[self.player prepareToPlay];
self.player.numberOfLoops = -1;
[self.player setVolume:1.0];
NSLog(@"%@", self.player);
Это метод, который вызывается, когда вызывается мой код тревоги:
-(void)startAlert
{
NSLog(@"%s", __FUNCTION__);
playing = YES;
[self.player play];
NSLog(@"%i", self.player.playing);
if (vibrate) {
[self vibratePattern];
}
}
Теперь, когда приложение находится на переднем плане,self.player.playing
возвращается1
Однако, когда приложение находится в фоновом режимеself.player.playing
возвращается0
, С чего бы это? Весь код вызывается, поэтому приложение работает и работает. Вибрация работает отлично, который используетAudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
Есть идеи, почему этот звук не воспроизводится?
Спасибо