获取缩略图的video快照
我正在使用苹果提供的AVCam代码从iPhone摄像头录制video。
录像后,它被保存到照片库。
然后加载一个新的视图,在这里我需要有一个video的图像缩略图。
我有一个video的path:
file://localhost/private/var/mobile/Applications/ED45DEFC-ABF9-4A5E-9102-21680CC1448E/tmp/output.mov
我似乎无法确定如何将video的第一帧作为缩略图使用。
任何帮助将非常感激,并感谢您的时间。
编辑
我结束了使用这个,我不知道为什么它横向返回图像?
- (UIImage*)loadImage { AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:vidURL options:nil]; AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset]; NSError *err = NULL; CMTime time = CMTimeMake(1, 60); CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err]; NSLog(@"err==%@, imageRef==%@", err, imgRef); return [[UIImage alloc] initWithCGImage:imgRef]; }
要修复在AVAssetImageGenerator
实例中将缩略图方向设置为appliesPreferredTrackTransform
为YES
。 如果您添加自己的video作品,则需要包含正确的转换以根据需要旋转video。
generate.appliesPreferredTrackTransform = YES;
请记住使用CGImageRelease
释放获取的图像引用。
要请求多个缩略图,最好与generateCGImagesAsynchronouslyForTimes:completionHandler:
asynchronous执行generateCGImagesAsynchronouslyForTimes:completionHandler: