【问题标题】:avplayerviewcontroller control eventsavplayerviewcontroller 控制事件
【发布时间】:2017-12-14 20:59:36
【问题描述】:

在我的视图控制器上,我添加了一个 AVPlayerViewController 作为子控制器。

它能够播放来自网络的音频和视频文件。但是,我想在按下暂停按钮或后退按钮时捕捉视频/音频的进度。我不确定要订阅什么事件或调用什么函数,我也无法在文档中找到任何内容。如果可能的话,有人可以举个例子吗?

这是我的视图控制器上的内容

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        let mediaURL = URL(string:fileMediaUrl!)

        if let murl=mediaURL {
            self.avPlayer=AVPlayer(url:murl)
            self.avPlayerViewController.player=self.avPlayer
        }

        self.addChildViewController(avPlayerViewController)
        self.view.addSubview(avPlayerViewController.view)
        avPlayerViewController.view.frame=self.view.frame

        //this is of when media has finished playing
        NotificationCenter.default.addObserver(self, selector:#selector(self.playerDidFinishPlaying(note:)),name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: avPlayer?.currentItem)

        avPlayer?.play()
    }

【问题讨论】:

    标签: ios swift avplayerviewcontroller


    【解决方案1】:

    您应该订阅rate。当rate0.0 时,意味着玩家已经停止(无论出于何种原因)。

    avPlayer?.addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions(rawValue: 0), context: nil)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-28
      • 2018-12-12
      相关资源
      最近更新 更多