目录中的视频缩略图
Posted
技术标签:
【中文标题】目录中的视频缩略图【英文标题】:Video thumbnail image from directory 【发布时间】:2014-10-13 06:06:19 【问题描述】:我是 ios 的新手。我想在图像视图中显示视频缩略图,这样通过单击按钮它应该打开一个画廊并通过选择一个视频它应该显示视频缩略图......请帮助我……
【问题讨论】:
【参考方案1】:照片库中存储有视频和图像,首先你想从库中获取所有视频,在 iOS 8 之前,this post 向你展示了如何使用 AssetsLibrary 库获取图片。您可以在执行此操作时过滤掉视频,然后得到一个 ALAsset,它可以表示图像或视频,假设当您选择一个视频时,您会得到一个名为资产的 ALAsset,使用以下函数将为您获取该视频的缩略图.
如果您使用 ALAsset。
UIImage *thumbnail = [UIImage imageWithCGImage:[asset thumbnail]];
对于 iOS 8,苹果引入了一个新的 Photos 库,你可以像上面一样从库中获取所有视频,一个视频或图像由 PHAsset 表示,假设你有一个 PHAsset ivar 命名为asset,你可以使用以下方法来从此资产中获取 UIImage。看一下requestImageForAsset:targetSize:contentMode:options:resultHandler:,你可以把target size设置成你想要的thumb image的大小,在resultHandler中,得到UIImage。
【讨论】:
你能详细解释一下吗。【参考方案2】:我正在使用下面的代码来获取下载到文档目录中的视频缩略图,
- (UIImage *)thumbnailFromVideoAtURL:(NSURL *)url
AVURLAsset *aImgAsset = [[AVURLAsset alloc] initWithURL:url options:nil];
AVAssetImageGenerator *aImgGenerator = [[AVAssetImageGenerator alloc] aImgAsset];
aImgGenerator.appliesPreferredTrackTransform = YES;
NSError *err = NULL;
CMTime time = CMTimeMake(1, 2);
CGImageRef aImgRef = [aImgGenerator copyCGImageAtTime:time actualTime:NULL error:&err];
UIImage *aImgThumb = [[UIImage alloc] initWithCGImage:aImgRef];
return aImgThumb;
【讨论】:
以上是关于目录中的视频缩略图的主要内容,如果未能解决你的问题,请参考以下文章