我正在制作iPad应用程序(iOS7,XCode5)。
我正在播放包含视频和音频的HLS流(m3u8)。当设备进入后台时,它将停止播放。有没有办法从视频中分离音频,只是在后台播放视频?看来Apple似乎不希望你在后台播放视频。
有什么想法吗?感谢。
答案 0 :(得分:5)
可能但不是没有跳过播放 - 视频会自动停止,但由于您的应用基本上仍然在后台运行,您可以再次手动启动视频:
在管理播放器的视图控制器中添加:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil];
然后添加以下方法:
- (void)applicationDidEnterBackground:(NSNotification*)note {
if (!_callCenter.currentCalls && self.currentPlayer.continuePlaybackInBackground == YES) {
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
// call play on your MPMoviePlayerController
});
}
}
我发现我必须使用dispatch_after
因为否则它会在操作系统停止之前再次尝试启动电影播放。