我正在創建一個視頻文件,並在上面創建圖像動畫。我跟蹤導出進度和狀態,但導出進度達到1.0後,不會調用完成回調,並且導出狀態仍等於「AVAssetExportSessionStatusExporting」。AVAssetExportSession:導出完成後未調用完成回調
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:movieAsset presetName:AVAssetExportPresetMediumQuality];
self.session = exportSession;
[exportSession release];
session.videoComposition = self.videoComposition;
NSString *filePath = NSTemporaryDirectory();
NSString *fileName = [[@"Output_" stringByAppendingString:number] stringByAppendingString:@".mov"];
filePath = [filePath stringByAppendingPathComponent:fileName];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
[[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
}
session.fileLengthLimit = 1024 * 1024 * 10;
session.outputURL = [NSURL fileURLWithPath:filePath];
session.outputFileType = AVFileTypeQuickTimeMovie;
[session exportAsynchronouslyWithCompletionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[self exportDidFinish];
});
}];
它實際上是創建一個輸出文件,它是不可讀的。我想看到的是一些錯誤消息,但導出會話的error
屬性保持空白。
所以,你收到一些回調與AVAssetExportSessionStatusExporting?你檢查所有的出口狀態嗎? – birukaze
我有一個重複計時器,它將會話的'progress','status'和'error'屬性記錄到控制檯。但是上述代碼中的函數'exportDidFinish'永遠不會被調用。 '進度'達到1.0後'status'等於'AVAssetExportSessionStatusExporting' – pckill