我的[AVAssetWriter startWriting]在应用程序进入后台时被调用,并且失败并出现以下错误:
错误Domain = AVFoundationErrorDomain Code = -11800“操作无法完成”UserInfo = {NSUnderlyingError = 0x13c6cac20 {Error Domain = NSOSStatusErrorDomain Code = -16980“(null)”},NSLocalizedFailureReason =发生未知错误(-16980) ),NSLocalizedDescription =操作无法完成}
甚至在调用applicationDidEnterBackground之前就会发生这种情况。我只需要在应用程序进入后台时暂停视频录制,并在应用程序稍后到达前台时恢复录制。
我还尝试了[AVAssetwriter startWriting]周围的beginBackgroundTaskWithExpirationHandler来购买,但它仍然失败。
当应用程序进入后台并稍后进入前台时,处理视频录制的正确方法是什么。
感谢。
答案 0 :(得分:0)
在iOS上,如果客户端应用程序进入后台时,AVAssetWriter
的状态为AVAssetWriterStatusWriting
,则其状态将更改为AVAssetWriterStatusFailed
,并且附加到其任何输入都会失败。
您可能希望使用-[UIApplication beginBackgroundTaskWithExpirationHandler:]
来避免在写会话期间被打断,并完成对已附加数据的写操作。
有关在后台执行代码的更多信息,请参阅《 iOS应用程序编程指南》。