1

我将所有照片保存到 uicollectionview。但它保存在uiimageview中。当文件是视频类型时,我需要显示一个播放按钮。有没有办法在获取时找到媒体的类型?

4

2 回答 2

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];
}];
于 2017-05-03T11:37:02.767 回答
1

每个PHAsset都有一个属性mediaTypePHAssetMediaType. 它显示它是什么类型:图像、视频、音频或最终未知。还有一个mediaSubtypes属性,用于获取有关资产的一些更具体的信息(高帧率视频、延时视频等)。

因此,基本上,当您在集合视图中展开结果时,您会将图像显示为缩略图,但是当您检查mediaType并看到它是视频时,您可以决定如何处理它 - 准备播放器或呈现其他视图/视图控制器播放该视频。

希望它对开始有所帮助,因为我不知道您如何构建从照片库中获取的内容。

于 2016-04-08T06:12:59.300 回答