我的应用程序进行了一些处理,在某些时候它需要调用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?
答案 0 :(得分:5)
实际上,由于您无法在后台启动新线程,因此无法实现。如果你想在后台做很多事情,你必须在app背景之前异步启动它们。
答案 1 :(得分:4)
您可以在后台启动AVAssetExportSession
。 AVFoundation
在后台执行工作的唯一限制是使用AVVideoCompositions
或AVMutableVideoCompositions
。 AVVideoCompositions
正在使用GPU,GPU无法在后台使用。
答案 2 :(得分:-1)
我找到了适用于音频的解决方案,我还没有尝试过视频
如果您更新项目功能中的“后台模式”设置以包含音频。它将允许出口。
这是为了在后台播放音乐。