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

Posted

技术标签:

【中文标题】我正在使用 PH 照片库来获取所有照片和视频【英文标题】:I am using PH photo library to get all the photos and videos 【发布时间】:2016-04-07 06:34:00 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您可以使用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];
];

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

类似问题与大赏金***.com/questions/43791151/…

以上是关于我正在使用 PH 照片库来获取所有照片和视频的主要内容,如果未能解决你的问题,请参考以下文章

获取照片和视频文件路径并存储到 sqlite

使用照片框架的视频选择器

将所有视频(来自照片库和视频应用程序)列出到 uitableviewcell

uiimagepickercontroller 视频时长 - 照片库

我如何仅使用 ALAssetsLibrary 获取视频

从照片中提取后,视频及其缩略图未按顺序保存