我正在嘗試構建iOS應用程序(iOS> 5.0)。當由用戶設置的定時器結束時,它應播放音樂文件。這裏是我的設置,如果到目前爲止做了什麼:iOS中的背景音頻
- 我在plist中使用avplayer
- 我設置背景模式爲「應用程序播放音頻」 在我的appDelegate
我:
NSError *sessionError = nil; [[AVAudioSession sharedInstance] setDelegate:self]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
一首歌之前,將要播放一集:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError]; [[AVAudioSession sharedInstance] setActive:YES error:&sessionError];
我通知我的「playerItemDidPlayToEnd」應用程序,停止播放器,並告訴其他應用程序,如music.app變得活躍起來
_avPlayer = nil; NSError *sessionError = nil; [[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation error:&sessionError];
這工作得很好。你可以讓你的音樂應用程序在後臺播放。我的應用程序開始播放音樂應用程序消失的歌曲。我的歌被播放,如果它完成了音樂應用程序繼續播放。但只要我的應用程序不在後臺。
在後臺我得到的錯誤:
Error Domain=NSOSStatusErrorDomain Code=560161140 "The operation couldn\u2019t be completed. (OSStatus error 560161140.)"
是否有可能的兩個組合,在背景(自定義事件)播放和F.E.之間切換music.app和我的應用程序在後臺是不可能的?
這裏,我的播放器模型的代碼:http://pastie.org/4830995
是的,正如上面提到的「我的plist中的背景模式設置爲」應用程序播放音頻「,但我也閱讀了幾個線程後,背景模式不再有任何影響,因爲ios5了。 – mightym
對不起,我不知道。 –