我有一個應用程序可以播放來自SHOUTcast服務器的流音頻。當應用程序位於前臺且禁用自動鎖定時,一切正常。然而,該應用程序也能夠在後臺播放音頻,該功能在iOS 6和iOS 7上一直運行良好。但現在,我的用戶報告說,在升級到iOS 8後大約10分鐘後,背景音頻會停止。iOS 8在10分鐘後停止在後臺播放音頻
我可以通過在iOS 8上運行應用程序來自己重現問題。由於應用程序本身非常複雜,我已經做了一個簡單的演示來展示問題。我使用Xcode 6,Base SDK設置爲iOS 8.我在Info.plist中添加了音頻到UIBackgroundModes。有人知道下面的代碼有什麼問題嗎?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSURL *streamingURL = [NSURL URLWithString:@"http://www.radiofmgold.be/stream.php?ext=pls"];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:streamingURL];
[self setPlayerItem:playerItem];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
[player setAllowsExternalPlayback:NO];
[self setPlayer:player];
[player play];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
return YES;
}
請分享修復,如果你找到一個。我的用戶也在報告這個問題。我無法複製它。 – RawMean 2014-10-06 14:42:00
由於所有流式鏈接均未出現問題,因此我也無法首先重現該問題。然而,我的代碼中的流在10分鐘後總是停止,而它在iOS 7上正常工作。 真的很煩人,因爲這個流是我的應用程序的主要功能,我現在用一星級的評論和來自用戶的抱怨不知所措。儘快設置這個問題的賞金,但恐怕這是蘋果方面的一個錯誤。 我真的希望我可以自己修復它..雖然我的應用程序基本上依賴於此功能。 – s1m0n 2014-10-06 17:26:01
嗨,大家好,我遇到了同樣的問題。對我來說就像蘋果公司搞砸了它。在我的情況下,直到河流停止播放的時間差異很大(5分鐘到12分鐘)。看起來流突然失去連接,然後播放,直到它用完緩衝數據。 App在前臺以及在後臺時會發生。處理它的唯一方法是觀察AVPlayerItem的狀態。我會將其作爲答案發布。 – Hendrik 2014-10-07 08:03:19