2012-01-01 75 views
1

我有一個應用程序App plays audioApp provides Voice over IP services選項配置在.plist當應用程序在後臺時啓動AVAudioPlayer

該應用程序正在接收套接字事件(即使在後臺)和關於事件,播放聲音。當應用程序在前臺時,一切正常。當應用程序在後臺時,應用程序被觸發,播放器的播放方法被調用,但沒有聲音。

我已經嘗試了許多互聯網示例代碼,但沒有任何工作。我試圖在前臺開始播放聲音,然後在後臺移動我的應用程序,它正在工作。

當應用程序在後臺時開始播放聲音時出現什麼問題?

這裏是我的代碼處理事件時,我的應用程序觸發背景:

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(@""); 
} 
+0

可能重複的[AVAudioPlayer不會在後臺開始播放](http://stackoverflow.com/questions/16564298/avaudioplayer-doesnt-start-playing-in-background) – matt 2013-05-15 16:39:55

回答

0

似乎是一個明顯的問題,但你實際上調用你的現實生活中的應用audioPlayer對象的play方法?可能在後臺事件處理程序的結尾?

[audioPlayer play];

+0

我提供的代碼是在「初始化方法」(調用只有一次)。當「網絡事件」即將到來時,會調用audioPlayer上的播放方法。 – fvisticot 2012-01-02 13:03:12

0

對於我的理解似乎不可能開始播放音樂時,應用程序在後臺...這是唯一可能繼續發揮現有的播放的音樂在後臺

相關問題