2010-06-09 76 views
11

我正在嘗試使用iPhone OS 4.0的多任務處理能力。我試圖在沒有運氣的背景下播放音頻。我在info.plist中添加了UIBackgroundModes屬性,並提到需要音頻才能在後臺播放。我還添加了播放音頻的代碼。 `iPhone OS 4多任務處理 - 在後臺播放音頻

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"someday" ofType:@"mp3"]]; 
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 
[audioPlayer play]; 

`。一旦我點擊應用中的按鈕,音頻開始播放。但是,當我關閉應用程序停止。我怎樣才能讓它在後臺播放?

感謝, 託尼

+3

你可能會發現人們不會想要回答這個問題,直到涵蓋iOS4的NDA被解除... – 2010-06-09 15:55:13

+0

是的,把它帶到官方論壇。 – 2010-06-09 16:08:30

+2

重複的問題:http://stackoverflow.com/questions/3161635/entering-background-on-ios4-to-play-audio – 2010-07-06 10:45:07

回答

12

這聽起來像你沒有正確設置你的音頻會話。從http://developer.apple.com/iphone/library/documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html

例如,使用默認音頻會話時,應用程序中的音頻會在自動鎖定期超時並且屏幕鎖定時停止。如果你想確保繼續播放與屏幕鎖定,包括在應用程序的初始化代碼下面幾行:

NSError *setCategoryErr = nil; 
NSError *activationErr = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:&setCategoryErr]; 
[[AVAudioSession sharedInstance] setActive:YES error:&activationErr]; 

的AVAudioSessionCategoryPlayback類別可確保繼續播放,屏幕鎖定時。 激活音頻會話將使指定的類別生效。

2

HI,

我覺得這個視頻可以幫助ü解決問題烏爾... 在WWDC的視頻,他們已清楚解釋如何ü可以使回地面音頻... http://developer.apple.com/videos/wwdc/2010/ 查看或下載這些視頻u需要有一個蘋果賬號... 並在這屆見109採用多任務的iPhone OS,第2部分... 希望這將幫助ü..

〜Raviraja