在后台启动AVAssetExportSession

时间:2012-03-23 21:24:34

标签: ios avfoundation avassetexportsession

我的应用程序进行了一些处理,在某些时候它需要调用AVAssetExportSession。

如果会话已经开始,然后我对应用程序进行后台处理,一切都正常完成。但是,如果我在调用exportAsynchronouslyWithCompletionHandler之前对应用程序进行后台处理。我收到这个错误:

AVAssetExportSessionStatusFailed Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x1e550db0 {NSLocalizedFailureReason=An unknown error occurred (-12985), NSUnderlyingError=0x1e574910 "The operation couldn’t be completed. (OSStatus error -12985.)", NSLocalizedDescription=The operation could not be completed}

是否可以在后台启动AVAssetExportSession?

3 个答案:

答案 0 :(得分:5)

实际上,由于您无法在后台启动新线程,因此无法实现。如果你想在后台做很多事情,你必须在app背景之前异步启动它们。

答案 1 :(得分:4)

您可以在后台启动AVAssetExportSessionAVFoundation在后​​台执行工作的唯一限制是使用AVVideoCompositionsAVMutableVideoCompositionsAVVideoCompositions正在使用GPU,GPU无法在后台使用。

答案 2 :(得分:-1)

我找到了适用于音频的解决方案,我还没有尝试过视频

如果您更新项目功能中的“后台模式”设置以包含音频。它将允许出口。

这是为了在后台播放音乐。