2012-03-23 35 views
9

我的應用程序開始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?

+0

我無法讓它在後臺運行。即使會話在進入後臺之前啓動,它也會立即中斷。你使用的是_backgroundTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^ {...讓它在後臺運行? – eddy 2012-06-21 21:32:46

+0

@eddy是的我正在使用類似的東西 – Dex 2012-07-01 09:40:26

+0

我有同樣的問題。有沒有解決方法? – 2012-11-13 08:56:14

回答

5

它實際上是不可能的,因爲事實上,你不能在後臺啓動一個新的線程。如果你想在後臺做很多事情,你必須在應用背景之前異步啓動它們。

4

您就可以開始在後臺AVAssetExportSessionAVFoundation在後臺執行工作的唯一限制是使用AVVideoCompositionsAVMutableVideoCompositionsAVVideoCompositions正在使用GPU,並且GPU不能在後臺使用。

+0

我無法在後臺導出音頻您有樣品或鏈接嗎? – 2014-09-04 06:19:07

-1

我發現它適用於音頻的解決方案,我沒有嘗試過的視頻

如果您更新「背景模式」,在該項目的功能設置,包括音頻。它將允許出口。

此舉意在後臺播放音樂。

+0

我認爲* iOS 8現在甚至可以允許GPU在後臺進行處理。 – Dex 2014-11-14 08:07:55

+0

這適用於IOS 7以及8,我以前沒有測試過版本 – 2014-11-14 12:07:08

+0

當我打開這個問題時,它絕對沒有;)真是太痛苦了! – Dex 2014-11-15 02:44:08