以自定义尺寸阅读图库视频

时间:2019-05-18 08:35:07

标签: swift phasset avasset

如何从Gallery(照片)中获取自定义格式和大小的视频。

例如,我想以360p阅读视频。

我使用下面的代码获取视频数据,但是苹果公​​司表示不能保证以最低的质量读取视频数据。

这是PHAsset的扩展名,因此self引用了PHAsset对象。

var fileData: Data? = nil
let manager = PHImageManager.default()
let options = PHVideoRequestOptions()
options.isNetworkAccessAllowed = true
options.deliveryMode = .fastFormat

manager.requestAVAsset(forVideo: self, options: options) {
    (asset: AVAsset?, audioMix: AVAudioMix?, _) in
    if let avassetURL = asset as? AVURLAsset {
        guard let video = try? Data(contentsOf: avassetURL.url) else {
            print("reading video failed")
            return
        }
        fileData = video
    }
}

1 个答案:

答案 0 :(得分:1)

有一个无法保证的简单原因:360p中的文件可能不在设备上或在云中。因此,Photos框架将提供最接近您要求的格式。如果您想要精确的360p,我建议您自己重新编码从照片框架获得的视频。