首页 文章

AVPlayer层有时不显示视频内容

提问于
浏览
1

AVPlayer层有时不显示视频内容但播放音频 . 这种情况有时会发生,而不是每次都是我的代码行:

override func viewDidLoad() {
        super.viewDidLoad()
        self.tempVideoPath = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("tmpMov.mov")
        self.player = AVPlayer(url: self.tempVideoPath!)
}

 override func viewDidAppear(_ animated: Bool) {
     super.viewDidAppear(animated)
     self.playerLayer = AVPlayerLayer(player: self.player)
     self.playerLayer?.frame = self.videoPlayer.bounds
     self.playerLayer?.backgroundColor = UIColor.yellow.cgColor
     self.videoPlayer.layer.addSublayer(playerLayer!)
     print("player = \(playerLayer?.bounds)")

 }

帮我解决这个问题 .

1 回答

  • 0

    你的代码问题是videoPlayer的界限可以改变 . 因此,您需要将以下代码添加到视图控制器,以相应地更改AVPlayerLayer的框架:

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
    
        playerLayer?.frame = view.bounds
    }
    

    希望能帮助到你 .

相关问题