簡體   English   中英

在iOS 6 Simulator上AVAssetWriter finishWriting失敗

[英]AVAssetWriter finishWriting fails on iOS 6 Simulator

似乎在iOS 6模擬器上打破了finishWriting - 它永遠掛起。 它現在已被棄用,並被新的finishWritingWithCompletionHandler取代: - 它也永遠不會調用處理程序。

在運行iOS 6的真實設備上,這樣可以正常工作。 同樣在之前的iOS模擬器中它運行得很好。 看起來像iOS 6模擬器中的錯誤。

有其他人遇到這個或可以證明我錯了嗎?

我也有這個問題,然后意識到我沒有調用endSessionAtSourceTime:在啟動之后。 這解決了我的問題。

好的,在模擬器上找到了解決方法。

看起來像停止視頻處理線程死鎖所以一個解決方法是在主線程中調用stop:

//      in iOS6 Simulator this blocks the video processing thread call back in UI thread.
//       BOOL stop = [assetWriter finishWriting];
[self performSelectorOnMainThread:@selector(stopInOtherThread) withObject:nil]; 

-(void)stopInOtherThread{
    //Stop doesn't block in MainThread
    BOOL stop = [assetWriter finishWriting];
    NSLog(@" assetWriter finishWriting :%d",stop);
}

此解決方法似乎不適用於finishWritingWithCompletionHandler

我會試着看看我是否可以在Apple上提出一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM