相关疑难解决方法(0)

如何在 Swift 中使用 AVPlayerViewController 检测全屏模式?

我试图检测何时处于AVPlayerViewController全屏模式,但我很难做到这一点。我想知道用户何时选择展开按钮进入全屏,如下所示:

在此处输入图片说明

我已经根据这些建议添加了适当的观察者:

  1. 检测纵向或横向全屏播放的视频
  2. 如何检测 AVPlayerViewController 的全屏模式

相应的代码:

var avWidth:CGFloat = 375
var avHeight:CGFloat = 300

override func viewDidLoad()
{
    super.viewDidLoad()

    let path = NSBundle.mainBundle().pathForResource("cable pressback", ofType: "mp4")
    let url = NSURL.fileURLWithPath(path!)
    let player = AVPlayer(URL: url)

    playerViewController.player = player

    playerViewController.view.frame = CGRectMake(0, 100, self.view.frame.size.width, 300)

    playerViewController.view.translatesAutoresizingMaskIntoConstraints = true

    view.addSubview(playerViewController.view)

    self.addChildViewController(playerViewController)

    [playerViewController .addObserver(self, forKeyPath:"videoBounds" , options: NSKeyValueObservingOptions.New, context: nil)]

}

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>)
{
    print("playerViewController.view.frame = \(playerViewController.view.frame)")

    if keyPath …
Run Code Online (Sandbox Code Playgroud)

ios avplayer swift avplayerviewcontroller

5
推荐指数
2
解决办法
7638
查看次数

标签 统计

avplayer ×1

avplayerviewcontroller ×1

ios ×1

swift ×1