我正在尝试在Spotify等应用上显示登录屏幕上的视频。
我在做什么
要做到这一点,我正在使用AVPlayer:
self.videoPlayer = AVPlayer(playerItem: item)
self.videoView.player = self.videoPlayer
self.videoPlayer.play()
videoView是一个自定义的UIView类,如here所述。
我将AVLayer的videoGravity设置为AVLayerVideoGravityResizeAspectFill:
self.videoView.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
问题
但是,当我尝试填写视图边界时,我的视频仍然是letterboxed:
我想要什么
我想要的是让视频在没有任何黑条的情况下填写整个边界。我不在乎是否剪辑了部分视频:
其他信息
当我查看deprecated MPMoviePlayerController's scaling mode property时,我发现了aspectFill属性的以下描述:
均匀缩放影片,直到影片填充视图的可见边界。剪切两个尺寸中较大尺寸边缘的内容,使另一个尺寸精确地适合视图。保留电影的宽高比
从这个描述来看,这是我想要的确切行为。但是,正如已经说明的那样,我的视频得到了信箱。我做错了还是Apple停止支持这种缩放?如果我不关心被剪辑的部分视频,我是否必须自己实现这种缩放?
感谢任何帮助,谢谢。
答案 0 :(得分:5)
好的,这有点令人尴尬。我终于意识到视频本身已经把信装进了它:(。AVPlayer正在进行的缩放工作正常。