2011-12-19 76 views
2

我做的是播放歌曲,而這首歌將仍然扮演即使該應用程序示例應用程序進入後臺。AVAudioPlayer後臺任務是不工作的iOS 5.0.1設備上,但它工作在iOS 5模擬器

在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]; 
} 

謝謝!

+1

你有沒有在你的info.plist文件中添加「音頻」作爲背景模式? – Mats 2011-12-19 20:49:13

+0

是的,你是對的。添加後,歌曲可以在後臺播放。你拯救了我的生命。謝謝Mats!作爲describred – 2011-12-20 00:06:43

+0

我安裝了一切,但是當我打的回家按鈕音樂停止。接下來我可以檢查什麼? – Arcadian 2012-01-23 05:46:18

回答

2

對於音頻繼續在後臺工作,你應該添加一個名爲所需的背景鍵 模式與價值您的info.plist應用程序播放音頻。但它的使用是不是由蘋果非常提倡,除非它是絕對必要。

+0

上的錢,謝謝。 – 2012-02-13 12:52:08

相關問題