0
我在閱讀視頻文件並對其進行處理。它的代碼是基於this問題中的代碼。在閱讀視頻文件時更新UI
AVURLAsset * asset = [AVURLAsset URLAssetWithURL:url options:nil];
[asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:@"tracks"] completionHandler:
^{
dispatch_async(dispatch_get_main_queue(),
^{
AVAssetTrack * videoTrack = nil;
NSArray * tracks = [asset tracksWithMediaType:AVMediaTypeVideo];
if ([tracks count] == 1)
{
//some code here
[movieReader startReading];
while ([movieReader status] == AVAssetReaderStatusReading)
{
// reading the video code here
}
}
});
});
我需要更新用戶界面,因爲我處理每幀指示處理幀的進度。我在while循環中的UI上插入一個按鈕,但是,只有在整個視頻處理完成後纔會更新UI。事實上,在完成處理程序塊中執行的任何UI更新只發生在整個處理之後。有關如何做的建議?