我有一个应用程序可以播放来自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