gpt4 book ai didi

ios - AVAssetExportSession:导出完成后未调用完成回调

转载 作者:行者123 更新时间:2023-12-01 16:49:28 27 4
gpt4 key购买 nike

我正在创建一个视频文件,并在其上添加动画图像。我跟踪导出进度和状态,但是在导出进度达到1.0后,不会调用回调,并且导出状态仍等于'AVAssetExportSessionStatusExporting'。

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];
});
}];

它实际上是在创建一个不可读的输出文件。我想看到的是一些错误消息,但是导出 session 的 error属性保持为空。

最佳答案

显然,视频文件本身存在问题。我从Apple samples下载了一个示例视频sample_iPod.m4v,一切正常。奇怪的是,我的文件和示例均以H.264编码。令我感到困惑的是,没有显示错误-控制台和error对象的AVExportSession属性均未显示:

2013-07-02 12:56:06.521 test [2330:907]导出运行-[进度:0.838969,错误:无]
2013-07-02 12:56:09.020 test [2330:907]导出运行-[进度:0.932188,错误:无]
2013-07-02 12:56:11.519 test [2330:907]导出运行-[进度:0.999630,错误:无]
2013-07-02 12:56:14.023 test [2330:907]导出运行-[进度:1.000000,错误:无]
2013-07-02 12:56:16.519 test [2330:907]导出运行-[进度:1.000000,错误:无]
...

关于ios - AVAssetExportSession:导出完成后未调用完成回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17274505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com