0

我总是使用 UIImagePickerController。当从 withUIImagePickerController 或 PHPickerViewController 使用的照片库中选择视频时,与 AirDrop 共享的 HDR 视频的 info[.mediaURL] 为零。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
if mediaType == "public.movie" {
                var videoURL = URL(fileURLWithPath: "")
                if let videoURLValue = info[.mediaURL] {
                    videoURL = videoURLValue as! URL
                } else {
                //
                }

此外,info[.PHAsset] 也是 nil 并且 info[.referenceURL] 只是嵌入但不能提取 AVAsset。

if info[.referenceURL] != nil {
                    videoURL = info[.referenceURL] as! URL
                    let pHAssets = PHAsset.fetchAssets(withALAssetURLs: [videoURL], options: nil)
                    phAsset = pHAssets.firstObject
                    // pHAssets.firstObject is nil

我想提取 AVAsset,你能告诉我上面的方法吗?感谢您阅读我的问题。

4

0 回答 0