簡體   English   中英

如何自動調整 AVPlayerLayer 的大小以在 Swift 的整個父視圖上以全尺寸顯示視頻

[英]How do I auto resize an AVPlayerLayer to show the video in its full size on the whole parent view in Swift

我試圖在UIImage上使用AVPlayerLayer顯示視頻。 視頻應該自行調整大小,以便在圖像視圖上顯示完整的視頻,即使它必須拉伸自己才能做到這一點。 不幸的是,我沒有得到這些結果,我的視頻最終在模擬器上看起來像這樣。 結果圖片

我嘗試將 AVPlayerLayer.frame 手冊設置為圖像視圖大小,以展示我的目標是讓它在所有不同的 iPhone 尺寸上看起來像什么。 目標結果的圖像

這是我的代碼:

let playerLayer = AVPlayerLayer(player: queuePlayer)
playerLayer.frame = feedBackground.bounds
playerLayer.videoGravity = .resizeAspectFill
feedBackground.layer.masksToBounds = true
feedBackground.layer.addSublayer(playerLayer)

(feedBackground 是一個 UIImage)

不知道它是否重要,但 feedBackground 的 contentMode 是按比例填充的

我對應用程序開發很陌生,所以感謝您抽出時間閱讀我的問題,並感謝您提供的任何解決方案:)

好吧,我找到了解決方案。 我將視頻集成到 viewDidLoad 中,並將 playerLayer.frame 設置為等於 feedBackground.bounds - 我認為它不起作用的原因是圖形尚未加載,所以我無法設置我的視頻幀等於 feedBackgrounds 框架 bcs feedBackgrounds 框架尚未計算/制作。

也許是錯的,無論是通過將我的代碼移動到 viewDidAppear 或 viewWillAppear 來實現的。

暫無
暫無

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

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