如何从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
}
}
答案 0 :(得分:1)
有一个无法保证的简单原因:360p中的文件可能不在设备上或在云中。因此,Photos框架将提供最接近您要求的格式。如果您想要精确的360p,我建议您自己重新编码从照片框架获得的视频。