Я делаю пример приложения, которое воспроизводит песню, и эта песня будет воспроизводиться, даже если приложение переходит в фоновый режим.
В симуляторе iOS 5 xcode он по-прежнему воспроизводит песню, когда приложение переходит в фоновый режим, но при запуске на устройстве iOS 5.0.1 iPad2 приложение перестает воспроизводить звук, когда оно переходит в фоновый режим.
Ниже приведен код для воспроизведения песни и выполнения фонового задания. Вы сталкиваетесь с такой проблемой в iOS 5.0.1? или я что-то упустил в коде? Но мне интересно, как это работает в симуляторе?
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"01-Track" ofType:@"mp3"]];
NSError *error;
audioPlayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
if(error)
{
NSLog(@"Error in audio palyer: %@", [error localizedDescription]);
}
else
{
audioPlayer.delegate =self;
[audioPlayer prepareToPlay];
trackControl.maximumValue=[audioPlayer duration];
trackControl.value=0.0;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
}
}
-(IBAction)playAudio:(id)sender
{
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
if([audioPlayer play]){
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
}
Спасибо!