相关疑难解决方法(0)

如何使用PhotoKit访问NSData/NSURL的慢动作视频

使用新的Photo框架,我可以访问NSDataPHAssets requestImageDataForAsset.我也可以使用PHImageFileURLKey返回的文件URL访问info NSDictionary.

[[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {

                //imageData contains the correct data for images and videos
                NSLog(@"info - %@", info);
                NSURL* fileURL = [info objectForKey:@"PHImageFileURLKey"];
}];
Run Code Online (Sandbox Code Playgroud)

这适用于图像和普通视频.

但是,当资产是PHAssetMediaSubtypeVideoHighFrameRate(慢动作视频)时,返回的数据对应于包含视频的第一帧的JPG文件(NSData,dataUTI和信息字典都指向同一jpg文件).例如,这是为慢动作视频返回的URL和dataUTI:

PHImageFileURLKey ="file:///var/mobile/Media/PhotoData/Metadata/DCIM/100APPLE/IMG_0642.JPG"; PHImageFileUTIKey ="public.jpeg";

为什么会这样?如何访问慢动作视频的NSData/NSURL而不是此JPG预览?

ios photokit phasset

7
推荐指数
3
解决办法
6467
查看次数

标签 统计

ios ×1

phasset ×1

photokit ×1