Ank*_*pta 5 video uiimagepickercontroller ios swift photokit
我想保存从UIImagePickerController照片专辑中选择的视频.之后我需要获取保存路径的URL.我看到了一些已经存在的问题,这些问题ALAssetsLibrary现在已被弃用.例如:在图库中保存视频并存储视频路径
有人可以指导我使用Photo's framework并达到上述预期效果.如果我在任何地方都错了,请纠正我.
谢谢!!
Ank*_*pta 16
这对我很有用.
Swift 3.1 - >
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url!)
}) { saved, error in
if saved {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: true)]
// After uploading we fetch the PHAsset for most recent video and then get its current location url
let fetchResult = PHAsset.fetchAssets(with: .video, options: fetchOptions).lastObject
PHImageManager().requestAVAsset(forVideo: fetchResult!, options: nil, resultHandler: { (avurlAsset, audioMix, dict) in
let newObj = avurlAsset as! AVURLAsset
print(newObj.url)
// This is the URL we need now to access the video from gallery directly.
})
}
}
Run Code Online (Sandbox Code Playgroud)
首先,您需要在应用程序的plist文件中设置以下权限:
隐私 - 照片库使用说明
提供呈现给用户的字符串,说明您请求权限的原因.
下一个,
import photos
然后使用此代码存储视频
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: fileURL)
}) { saved, error in
if saved {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
let fetchResult = PHAsset.fetchAssets(with: .video, options: fetchOptions).firstObject
// fetchResult is your latest video PHAsset
// To fetch latest image replace .video with .image
}
}
Run Code Online (Sandbox Code Playgroud)
要从PHAsset获取URL,请参阅此问题的答案
| 归档时间: |
|
| 查看次数: |
12107 次 |
| 最近记录: |