2013-05-03 111 views
5

我正在從iOS應用程序中創建視頻。我正在使用AVAssetWriter來實現此目的。一切正常。但是當應用程序進入後臺並切換回來時,視頻寫入失敗。當我切換回應用程序時,AVAssetWriterfinishWritingWithCompletionHandler未被調用。AVAssetWriter一旦應用程序在後臺中失敗

可能是AVAssetWriter fails when Application enters Background during Rendering的重複,但我沒有得到任何幫助。

對此有何想法?

謝謝

+0

您是否設置了後臺處理任務?你的問題缺乏細節。 – Wain 2013-05-03 08:55:10

回答

6

此答案基於您希望視頻在後臺繼續呈現的假設。

我在我的應用程序中通過要求操作系統授予應用程序後臺任務權限(僅限有限的時間)來解決此問題。這個答案可能會幫助你太 iOS generating a video in the background task

@property (nonatomic,assign) UIBackgroundTaskIdentifier __block backgroundRenderingID; 

    UIApplication *app = [UIApplication sharedApplication]; 

    _backgroundRenderingID = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:_backgroundRenderingID]; 
     _backgroundRenderingID = UIBackgroundTaskInvalid; 
    }]; 

不要忘記鬆手,一旦你完成了!

[[UIApplication sharedApplication] endBackgroundTask:_backgroundRenderingID]; 
+2

感謝您的幫助:) – Unnati 2013-05-03 10:43:32