Swift 阅读自定义大小的多媒体资料视频

Swift 阅读自定义大小的多媒体资料视频,swift,phasset,avasset,Swift,Phasset,Avasset,如何从图库中获取自定义格式和大小的视频(照片) 例如,我想读一段360p的视频 我使用下面的代码来获取视频数据,但苹果公司表示,它不能保证以最低质量读取视频数据 它是一个PHAsset扩展,因此self引用PHAsset对象 var fileData: Data? = nil let manager = PHImageManager.default() let options = PHVideoRequestOptions() options.isNetworkAccessAllowed = t

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

例如,我想读一段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
    }
}

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

AVAssetExportSession: