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

Posted

技术标签:

【中文标题】以自定义尺寸阅读图库视频【英文标题】:Read Gallery Video in Custom Size 【发布时间】:2019-05-18 08:35:07 【问题描述】:

我如何从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】:

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

【讨论】:

AVAssetExportSession: developer.apple.com/documentation/avfoundation/…

以上是关于以自定义尺寸阅读图库视频的主要内容,如果未能解决你的问题,请参考以下文章

UEditor 自定义图片视频尺寸校验

使用具有自定义尺寸的 AVFoundation 录制视频? [复制]

以自定义帖子类型显示标签面板

Ninja Framework 以自定义格式返回 JSON

Wordpress以自定义大小插入文章附件链接到自定义大小

如何以自定义 json 格式返回数据?