簡體   English   中英

在 AVPlayerViewController, Swift 中將 AVPlayer 設置為全屏視圖

[英]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: AVPlayerViewControllerviewDidLoad()剛剛設置

videoGravity = .resizeAspectFill

根據文檔:

視頻重力決定了視頻內容如何在播放器視圖控制器視圖的邊界內縮放或拉伸。 播放器視圖控制器支持以下視頻重力值:

  • 調整大小方面
  • 調整AspectFill
  • 調整大小

默認值為resizeAspect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM