gpt4 book ai didi

ios - AVAssetExportSession 进度卡在 ipad 而不是模拟器

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:14 24 4
gpt4 key购买 nike

这段代码在模拟器上运行良好。但是,当我尝试在我的 iPad 上运行导出时,它总是卡在进度值 0.14583-ish 处。有人可以帮我弄清楚为什么吗?已经坚持了很长一段时间。

这是我的代码:

NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:composition];
if ([compatiblePresets containsObject:AVAssetExportPresetLowQuality]) {
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]
initWithAsset:composition presetName:AVAssetExportPresetLowQuality];


exportSession.outputURL = [NSURL fileURLWithPath:[[ShowDAO getUserDocumentDir] stringByAppendingString:exportFilename]];
exportSession.outputFileType = AVFileTypeQuickTimeMovie;

CMTime start = CMTimeMakeWithSeconds(0, 1);
CMTime duration = CMTimeMakeWithSeconds(1000, 1);
CMTimeRange range = CMTimeRangeMake(start, duration);
exportSession.timeRange = range;

[exportSession exportAsynchronouslyWithCompletionHandler:^{
switch ([exportSession status]) {
case AVAssetExportSessionStatusCompleted:
NSLog(@"Export Completed");
break;
case AVAssetExportSessionStatusFailed:
NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]);
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"Export cancelled");
break;
default:
break;
}


}];

while(exportSession.progress != 1.0){
NSLog(@"loading... : %f",exportSession.progress);
sleep(1);
}
[exportSession release];

}

最佳答案

while(exportSession.progress != 1.0){
NSLog(@"loading... : %f",exportSession.progress);
sleep(1);
}

这个 while 循环阻塞了主线程。 NSLog 可能无法正常触发。试试不用 while 循环?

关于ios - AVAssetExportSession 进度卡在 ipad 而不是模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702977/

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