问题描述
从状态已完成的 AVAssetWriter 获取 outputUrl 后,我通过如下方式保存 PHAsset。
let changeBlock = {
let creationRequest = PHAssetCreationRequest.forAsset()
creationRequest.addResource(with: .video,fileURL: url,options: nil)
localIdentifier = creationRequest.placeholderForCreatedAsset?.localIdentifier
}
let completionHandler = { ... }
PHPhotoLibrary.shared().performChanges(changeBlock,completionHandler: completionHandler)
以上代码的结果PHAsset的像素宽高分别为1920和1080(这个尺寸适合横向) 除此之外,我还检查了照片库中视频的大小,也与上面的大小相同。
完成保存 PHAsset,我通过下面的代码从 PHAsset 上面获取 AVAsset。
let resultHandler = { ... }
PHImageManager.default().requestAVAsset(
forVideo: photoKitAsset,options: nil,resultHandler: resultHandler
)
然后我检查了上面 AVAsset 的自然大小,该大小是 1080 x 1920。(我认为这个大小是 90 度旋转大小,我从 AVAsset 中看到了像素缓冲区,像素缓冲区也旋转了 90 度。
但是,当我在 iPhone 系统相机中拍摄视频并使用这个 PHAsset 时,我也发现 AVAsset 的 naturalSize 是正确的。
从 PHAsset 中释放 AVAsset 时是否需要设置方向? 请帮帮我谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)