[iOS]PHAsset获取文件的路径的方式

一、使用KVC的方式

PHAssetResource * resource = [[PHAssetResource assetResourcesForAsset: videoModel.asset] firstObject];
// file:///var/mobile/Media/DCIM/165APPLE/IMG_5225.MOV
NSString *tempPrivateFileURL = [resource valueForKey:@"privateFileURL"];
// IMG_5225.MOV
NSString * tempFilename = resource.originalFilename;

二、使用PHImageManager的方式

PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init];
options.version = PHImageRequestOptionsVersionCurrent;
options.deliveryMode = PHVideoRequestOptionsDeliveryModeAutomatic;
PHImageManager *manager = [PHImageManager defaultManager];

// 这三个方法都能拿到文件的路径
// 1.Playback only. The result handler is called on an arbitrary queue.
[manager requestPlayerItemForVideo:videoModel.asset options:options resultHandler:^(AVPlayerItem * _Nullable playerItem, NSDictionary * _Nullable info) {
    AVURLAsset *urlAsset = (AVURLAsset *)playerItem.asset;
    // file:///var/mobile/Media/DCIM/165APPLE/IMG_5225.MOV
    NSURL *url = urlAsset.URL;
}];

// 2.Export. The result handler is called on an arbitrary queue.
[manager requestExportSessionForVideo:videoModel.asset options:options exportPreset:AVAssetExportPreset960x540 resultHandler:^(AVAssetExportSession * _Nullable exportSession, NSDictionary * _Nullable info) {
    AVURLAsset *urlAsset = (AVURLAsset *)exportSession.asset;
    // file:///var/mobile/Media/DCIM/165APPLE/IMG_5225.MOV
    NSURL *url = urlAsset.URL;
}];

// 3.Everything else. The result handler is called on an arbitrary queue.
[manager requestAVAssetForVideo:videoModel.asset options:options resultHandler:^(AVAsset * _Nullable asset, AVAudioMix * _Nullable audioMix, NSDictionary * _Nullable info) {
    AVURLAsset *urlAsset = (AVURLAsset *)asset;
    // file:///var/mobile/Media/DCIM/165APPLE/IMG_5225.MOV
    NSURL *url = urlAsset.URL;
}];

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值