我正在创建一个演示,我需要根据视频内容的基础设置方向。所以我使用了一些代码来获取方向,请参阅下面的代码。
var video_orientation: UIInterfaceOrientation {
guard let transform = tracks(withMediaType: AVMediaType.video).first?.preferredTransform else {
return .portrait
}
switch (transform.tx, transform.ty) {
case (0, 0):
return .landscapeLeft
case (videoFirstFrameSize.width, videoFirstFrameSize.height):
return .landscapeRight
case (0, videoFirstFrameSize.width):
return .portraitUpsideDown
default:
return .portrait
}
}
现在,问题是我从Gallery中选择视频(慢速Mo,正常)时工作正常。 但是当我从画廊方向选择Time-Lapse视频时会发生变化,我做了太多与此相关的研究,最后我得到了一些解决方案,解决方案是如果我们选择了Time-lapse,我们需要通过{{ 1}}在视频类型,但现在的问题是,我应该如何将其设置为基于选定的资产。 任何帮助都非常明显,在此先感谢。
注意: - AVMediaType.timecode
扩展属性为var video_orientation