从 PHAsset 获取视频时如何检测视频是否为横向/纵向?

Sol*_*lid 2 ios avasset swift phasset

我正在从 PHAsset 获取视频,以便用户可以选择视频并导入以执行编辑。但是用户应该只能选择横向视频,如果用户选择纵向视频,她/他会收到警告消息,说是纵向视频,因此无法导入编辑。

一种方法是从 PHFetchResults 的 URL 创建 AVAsset,然后检查一个 preferredTransform,但这将是非常昂贵的操作,对吗?

有没有办法在不创建 AVasset 的情况下做到这一点?

Jal*_*zir 5

https://developer.apple.com/library/ios/documentation/Photos/Reference/PHAsset_Class/

var pixelWidth: Int { get }

var pixelHeight: Int { get }

资产图像或视频数据的宽度和高度(以像素为单位)。(只读)

如果资产的内容已被编辑,则此属性描述资产当前版本的大小。可用性 iOS(8.0 及更高版本)

if asset!.pixelHeight > asset!.pixelWidth {
 // will be portrait video or Image
}
Run Code Online (Sandbox Code Playgroud)

在 iOS 8.0 及更高版本中可用。