[英]Make AVPlayer to full screen view in AVPlayerViewController, Swift
我是 swift 的新手並且在使 AVPlayerViewController.player 在 ViewController 中進入全屏時遇到問題:AVPlayerViewController
這是我在 viewDidAppear 中使用的代碼來播放視頻
let path = NSBundle.mainBundle().pathForResource("video", ofType: "mp4")!
let url = NSURL(fileURLWithPath: path)
let player = AVPlayer(URL: url)
self.player = player
self.showsPlaybackControls = false
self.player!.play()
我正在隱藏 playBackControlls,並且需要將視頻視圖設為全屏...
為了將 AVPlayer 添加到視圖中,我從它創建了一個 CALayer,如下所示:
let playerLayer = AVPlayerLayer(player: player)
然后你需要將此層添加到視圖中,例如,如果你在 ViewController 中編寫了該代碼,那么你可以這樣做:
self.view.layer.addSublayer(playerLayer)
接下來,確保該層與父 ViewController 一樣大:
playerLayer.frame = self.view.layer.bounds
現在,您可以選擇這些選項中的任何一個來調整視頻大小。 在這里,我使用.resize
假設視頻和屏幕的縱橫比相同
playerLayer.videoGravity = AVLayerVideoGravity.resize
我建議在不添加額外層的情況下使用以下解決方案:
在你的ViewController: AVPlayerViewController在viewDidLoad()
剛剛設置
videoGravity = .resizeAspectFill
根據文檔:
視頻重力決定了視頻內容如何在播放器視圖控制器視圖的邊界內縮放或拉伸。 播放器視圖控制器支持以下視頻重力值:
- 調整大小方面
- 調整AspectFill
- 調整大小
默認值為resizeAspect 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.