系统相册:通过PHAsset获取视频、图片的URL(swift)

2,518 阅读1分钟

获取图片的URL

let source = PHAssetResource.assetResources(for: asset).last
let imageUrl =  source?.value(forKey: "privateFileURL") as! URL

获取视频的URL

    func requetVideo(phAsset: PHAsset, completed: ((_ url: URL?) -> Void)?) {
        PHCachingImageManager.default().requestAVAsset(forVideo: phAsset, options: nil, resultHandler: { (video, audioMix, info) in
            DispatchQueue.main.async {
                var url: URL?
                if let urlAsset = video as? AVURLAsset {
                    url = urlAsset.url
                }
                completed?(url)
            }
        })
    }

备注:asset的类型是PHAsset类型