ios - AVPlayer:当视频和设备的宽高比不同时,为什么 iPhone 视频不会失真?

标签 ios iphone video avfoundation avplayer

例如,假设您使用 AVCaptureSessionPresetMedium 以 360x480 分辨率捕获视频,并使用 AVPlayerLayer 和 AVLayerVideoGravityResizeAspectFill 的 videoGravity 渲染它。视频在 5S 设备上全屏呈现,没有失真。

5S 设备的分辨率为 320x568,所以 360x480 的视频不应该垂直拉伸(stretch)或水平收缩吗?

缩放是如何工作的,以便即使视频的宽高比与设备的宽高比不同也能保持宽高比?

AVFoundation 和视频的新手,非常感谢您的帮助。

最佳答案

将您的 videoGravity 设置为 AVLayerVideoGravityResizeAspect。它通过垂直拉伸(stretch)或水平收缩来保持纵横比大小

关于ios - AVPlayer:当视频和设备的宽高比不同时,为什么 iPhone 视频不会失真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34972454/

相关文章:

iphone - 从新的 fbconnect 登录 Facebook

ios - 如何使 Http get 请求 URL 由 swift 3 中的管道组成?

ios - Swift:使用 for in 循环从 plist 中检索数据

iphone - 由于未捕获的异常而终止应用程序,同时加载 View

iphone - 我可以在 iOS 的系统键盘上添加一个键吗?

iphone - 如何解决 iPhone 中的问题 "Command/bin/sh failed with exit code 1"

python-3.x - Moviepy:向视频添加音频

ios - 定义具有角度和直径的 CGPoint

html - 有没有办法让包含嵌入式 vimeo 视频的 iframe 静音?

video - 如何在GStreamer中一起播放音频和视频?