例如,假设您使用 AVCaptureSessionPresetMedium 以 360x480 分辨率捕获视频,并使用 AVPlayerLayer 和 AVLayerVideoGravityResizeAspectFill 的 videoGravity 渲染它。视频在 5S 设备上全屏呈现,没有失真。
5S 设备的分辨率为 320x568,所以 360x480 的视频不应该垂直拉伸(stretch)或水平收缩吗?
缩放是如何工作的,以便即使视频的宽高比与设备的宽高比不同也能保持宽高比?
AVFoundation 和视频的新手,非常感谢您的帮助。
最佳答案
将您的 videoGravity
设置为 AVLayerVideoGravityResizeAspect
。它通过垂直拉伸(stretch)或水平收缩来保持纵横比大小
关于ios - AVPlayer:当视频和设备的宽高比不同时,为什么 iPhone 视频不会失真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34972454/