【问题标题】:AVPlayer layer not showing video content sometimesAVPlayer 层有时不显示视频内容
【发布时间】:2016-11-28 11:53:56
【问题描述】:

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)")

 }

帮我解决这个问题。

【问题讨论】:

  • self.player 未初始化。还是在别的地方?
  • @PrafulD 已初始化
  • 检查这个...可能对你有帮助stackoverflow.com/questions/22149931/…
  • @PayalManiyar,如果 El Captain 的建议不起作用。你能发布更多你的代码吗?
  • 你的网址是什么?请发布更多与初始化相关的代码。

标签: ios swift avplayer avplayerlayer


【解决方案1】:

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

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    playerLayer?.frame = view.bounds
}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2014-04-04
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    相关资源
    最近更新 更多