iOS截取视频预览图,截图方向错误的解决


今天在修改项目bug的时候遇到了,截图视频预览图的时候总是方向不对,竖屏录制的视频(好像是竖屏录制截图出的错,记不太清楚了)截图出来总是向左旋转了90度。

开始我查看图片的imageOrientation属性,发现都是Up,然后我试着查看图片的widthheight,发现无论是对的还是错的,widthheight都是一样,oh,shit!

后来我发现了appliesPreferredTrackTransform这个属性,默认是false(Objective-C中为NO),只要将其设置为true,在进行截图就会发现,方向正常了。

截图代码如下:

NSURL *url = [[NSURL alloc] initWithString:@"Your video url"];
AVURLAsset *urlAsset = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:urlAsset];
imageGenerator.appliesPreferredTrackTransform = YES;    // 截图的时候调整到正确的方向
CMTime time = CMTimeMakeWithSeconds(1.0, 30);   // 1.0为截取视频1.0秒处的图片,30为每秒30帧
CGImageRef cgImage = [imageGenerator copyCGImageAtTime:time actualTime:nil error:nil];
UIImage *image = [UIImage imageWithCGImage:cgImage];

你可能感兴趣的:(iOS截取视频预览图,截图方向错误的解决)