2016-10-21 46 views
1

我想使用此代碼顯示視頻:AVPlayerLayer框架不適合用於UIView的視頻播放器

self.videoPlayer = AVPlayer.init(url: videoUrl as URL) 
let playerLayer = AVPlayerLayer.init(player: self.videoPlayer) 
self.videoPlayerView.layer.addSublayer(playerLayer) 
playerLayer.frame = self.videoPlayerView.layer.bounds 
self.videoPlayer.play() 

,但它不會出現了UIView(即self.videoPlayerView)內。它只在屏幕中間顯示一個薄的Rect,如屏幕截圖所示。我該如何解決? screen shot

回答

0

首先代碼是在Swift中不是Obective-C,我會改變這個標籤!其次,你如何定義videoPlayerView框架?第三,你已經添加了playerLayer的框架。因此,框架不會在視覺上改變!在將其添加爲子圖層之前設置框架。希望有所幫助。

+0

我這樣做,但沒有解決它 –

+0

你改變了你設置playerLayer框架?如果是這樣,我的第二點仍然是,你在哪裏以及如何設置videoPlayerViews框架? – jniegsch

+0

使用自動佈局的故事板 –

1

試試這個... 設置圖層的幀等於視圖的框架

self.videoPlayer = AVPlayer.init(url: videoUrl as URL) 
let playerLayer = AVPlayerLayer.init(player: self.videoPlayer) 
self.videoPlayerView.layer.addSublayer(playerLayer) 
playerLayer.frame = self.videoPlayerView.frame 
self.videoPlayer.play() 
相關問題