2016-12-07 77 views
1

我试图在Spotify等应用中看到的登录屏幕上显示视频。使AVPlayer全屏无信箱

我做

什么要做到这一点我使用AVPlayer:

self.videoPlayer = AVPlayer(playerItem: item) 
self.videoView.player = self.videoPlayer 
self.videoPlayer.play() 

的videoView是描述here自定义UIView类。

我设置了AVLayer的videoGravity到AVLayerVideoGravityResizeAspectFill:

self.videoView.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 

问题

然而,我的视频仍然是上下黑边,当我试图使它填写我的观点的界限:

enter image description here

我想要什么

我想要的是让视频填写整个边界,没有任何黑条。我不在乎,如果部分视频被剪辑:

enter image description here

信息

当我看着deprecated MPMoviePlayerController's scaling mode property,我发现aspectFill属性的以下描述:

统一缩放电影,直到影片充满视图的可见边界。在两个维度较大的边缘处的内容被裁剪,以便另一维度恰好适合视图。电影的长宽比保持不变

从这个描述判断,这是我想要的确切行为。不过,如前所述,我的视频会变为letterbox。我做错了什么,或者苹果已经停止支持这种缩放?如果我不关心部分视频被剪辑,我是否必须自己实现这个缩放?

任何帮助表示赞赏,谢谢。

+0

请检查videoView.frame是否与self.view.frame相同。 – Ponja

回答

3

好吧,这是一个有点尴尬。我终于意识到,视频本身有信封装入它:(该缩放AVPlayer正在做的很好。

+0

ahah不要担心队友:) –

+0

坦率地说是在我的书中投票。 – Jonny