我正在使用PH照片库来获取所有照片和视频

时间:2016-04-07 06:34:00

标签: objective-c phphotolibrary

我将所有照片保存到uicollectionview。但它在uiimageview中保存。我需要在文件是视频类型时显示播放按钮。 有什么方法可以在获取时找到媒体的类型吗?

2 个答案:

答案 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 并且您看到它是视频时,您可以决定如何处理它 - 准备播放器或呈现其他视图/视图控制器来播放该视频。

希望它有助于一开始,因为我不知道你是如何从照片库中获取结构的。

相关问题