【发布时间】:2011-07-06 06:08:07
【问题描述】:
我有低质量转换的简单视频压缩代码。我正在使用 IOS-4.2.1 在 iphone 4 中测试我的代码。问题是当我在没有断点的设备上测试我的代码时,代码无法创建视频(它只是创建了一个零 kb 文件或空文件)但是当我使用断点逐行检查此代码时,它会制作一个完美的压缩视频,该视频也可以在 mac 中的 quicktime 播放器上运行。压缩后我制作这个视频文件的 zip。
NSURL *videoURL=[[self.videourlarray objectAtIndex:i] valueForKey:UIImagePickerControllerReferenceURL];
NSURL *outputURL = [NSURL fileURLWithPath:videoFile];
[[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:videoURL options:nil];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality];
exportSession.outputURL = outputURL;
exportSession.shouldOptimizeForNetworkUse = YES;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
[exportSession exportAsynchronouslyWithCompletionHandler:^(void)
{
NSLog(@"Export Complete %d %@", exportSession.status, exportSession.error);
[exportSession release];
}];
感谢任何帮助...
【问题讨论】:
-
什么是出口状态?如果不释放 exportSession 会怎样?
-
不释放export且exportSession.status为3且exportSession.error为null后仍然没有成功。
-
不,没有错误没有崩溃,正如我所说,有时它会制作我想要的精确视频,有时它会制作 zerokb 视频文件。
标签: iphone objective-c ios4 avfoundation avassetexportsession