如何使用 UIImageView 显示 .mov 文件可见帧、在例如 finder 或任何 youtube 视频等中可见的预览帧。
我希望能够从保存到应用程序库目录的 .mov 文件中获取预览帧,因此它们不会是 AVAssets。
如何使用 UIImageView 显示 .mov 文件可见帧、在例如 finder 或任何 youtube 视频等中可见的预览帧。
我希望能够从保存到应用程序库目录的 .mov 文件中获取预览帧,因此它们不会是 AVAssets。
AVFoundation 中的AVAssetImageGenerator
in 可用于加载相册和本地应用程序目录中的视频。
这是一个辅助方法,它将在任何给定的时间间隔从视频 URL(应用程序内部或外部)返回图像:
+ (UIImage *)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = time;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError];
NSAssert(thumbnailImageRef, @"CGImageRef shall never be nil.");
UIImage *thumbnailImage = thumbnailImageRef ? [[UIImage alloc] initWithCGImage:thumbnailImageRef] : nil;
return thumbnailImage;
}