当应用程序转到后台时,AVAsset编写器失败

时间:2016-02-17 00:20:25

标签: ios avfoundation avassetwriter

我的[AVAssetWriter startWriting]在应用程序进入后台时被调用,并且失败并出现以下错误:

错误Domain = AVFoundationErrorDomain Code = -11800“操作无法完成”UserInfo = {NSUnderlyingError = 0x13c6cac20 {Error Domain = NSOSStatusErrorDomain Code = -16980“(null)”},NSLocalizedFailureReason =发生未知错误(-16980) ),NSLocalizedDescription =操作无法完成}

甚至在调用applicationDidEnterBackground之前就会发生这种情况。我只需要在应用程序进入后台时暂停视频录制,并在应用程序稍后到达前台时恢复录制。

我还尝试了[AVAssetwriter startWriting]周围的beginBackgroundTaskWithExpirationHandler来购买,但它仍然失败。

当应用程序进入后台并稍后进入前台时,处理视频录制的正确方法是什么。

感谢。

1 个答案:

答案 0 :(得分:0)

在iOS上,如果客户端应用程序进入后台时,AVAssetWriter的状态为AVAssetWriterStatusWriting,则其状态将更改为AVAssetWriterStatusFailed,并且附加到其任何输入都会失败。

您可能希望使用-[UIApplication beginBackgroundTaskWithExpirationHandler:]来避免在写会话期间被打断,并完成对已附加数据的写操作。

有关在后台执行代码的更多信息,请参阅《 iOS应用程序编程指南》。