2016-01-31 45 views
2

我有一個容器UIView,名爲videoView。我將AVPLayerLayer添加到該視圖。我不知道如何將videoView調整爲與avplayer圖層相同的比例。使用videoGravity沒有預期的效果。根據視頻的高寬比調整AVPlayerItem容器視圖的大小

AVPlayerItem* playerItem = [AVPlayerItem playerItemWithURL:path]; 

_videoPlayer = [[AVPlayer alloc] initWithPlayerItem:playerItem]; 

AVPlayerLayer *layer = [AVPlayerLayer layer]; 

[_avplayerLayer setPlayer:_videoPlayer]; 
[_avplayerLayer setBackgroundColor:[UIColor whiteColor].CGColor]; 
[_avplayerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; 
[_avplayerLayer setFrame:_videoView.bounds]; 
[_videoView.layer addSublayer:_avplayerLayer]; 

我正在使用autolayout,我的佈局將適應_videoView的高度變化。

回答

3

videoGravity不會改變視圖的框架,而是用視頻填充當前框架。

我想你應該檢查打之前,每部影片的resolution和調整videoView的高度約束(這應該是伊娃和約束到videoView的寬度)multipliervideoView寬度應限制爲屏幕寬度。

+0

謝謝!加上這個答案我得到它的工作:http://stackoverflow.com/a/34643565/1392515 – stackOverFlew

相關問題