我正在开发iOS应用程序,我正在从图像创建视频。我正在使用AVAssetWriter
来实现这一目标。一切正常。但当应用程序进入后台并切换回来时,视频写入失败。当我切换回应用时,AVAssetWriter
的{{1}}没有被调用。
可能是AVAssetWriter fails when Application enters Background during Rendering的副本,但我没有得到任何帮助。
对此有何想法?
由于
答案 0 :(得分:9)
此答案基于您希望视频在后台继续渲染的假设。
我通过要求操作系统授予应用后台任务权限(在有限的时间内)来修复此问题。这个答案对你也有帮助 iOS generating a video in the background task
@property (nonatomic,assign) UIBackgroundTaskIdentifier __block backgroundRenderingID;
UIApplication *app = [UIApplication sharedApplication];
_backgroundRenderingID = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:_backgroundRenderingID];
_backgroundRenderingID = UIBackgroundTaskInvalid;
}];
一旦完成,别忘了放手!
[[UIApplication sharedApplication] endBackgroundTask:_backgroundRenderingID];