我将所有照片保存到uicollectionview。但它在uiimageview中保存。我需要在文件是视频类型时显示播放按钮。 有什么方法可以在获取时找到媒体的类型吗?
答案 0 :(得分:2)
您可以使用PHFetchResult
获取所有PHAsset
,更改PHAssetMediaType即可获得不同的结果。
以下是获取所有视频示例代码:
PHFetchResult *results = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:nil];
NSMutableArray *temp = [NSMutableArray arrayWithCapacity:results.count];
[results enumerateObjectsUsingBlock:^(PHAsset *obj, NSUInteger idx, BOOL * _Nonnull stop) {
[temp addObject:obj];
}];
答案 1 :(得分:1)
每个PHAsset
都有一个属性 mediaType ,即PHAssetMediaType
。它显示了它的类型:图像,视频,音频或最终未知。
还有一个 mediaSubtypes 属性,可以获得有关资产的更具体信息(高帧率视频,延时视频等)。
所以基本上当您在收藏视图中展开结果时,您会将图像显示为缩略图,但是当您检查 mediaType 并且您看到它是视频时,您可以决定如何处理它 - 准备播放器或呈现其他视图/视图控制器来播放该视频。
希望它有助于一开始,因为我不知道你是如何从照片库中获取结构的。