3

我曾经AVPlayer在我的 swift 应用程序上播放视频。我想在视频中间放置一个播放按钮(自定义按钮)。我知道如何在点击按钮时播放和暂停视频。

从默认按钮播放/暂停视频时,我找不到如何显示/隐藏自定义按钮?播放/暂停视频时是否有任何听众或触发的东西?

我还想从默认控件中隐藏“音频和字幕”图标。

4

2 回答 2

3

以下是您如何收听播放器状态更改和隐藏/显示按钮的方法:(假设您的播放器名为player,并且按钮为playButton

player.addObserver(self, forKeyPath: "rate", options: .New, context: nil) // somewhere after player init
...
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
  if keyPath == "rate" {
    playButton.enabled = player.rate == 1 
  } else {
    super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
  }
}

如果播放器的速率等于 0,则表示视频未播放。

于 2015-12-02T11:07:29.300 回答
0

然后播放器初始化,

self.player?.addObserver(self, forKeyPath: "rate", options: .new, context: nil)

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
    if self.player?.rate == 0 {
        print("Pause")
    }else {
        print("Play")
    }
}
于 2020-10-14T12:43:16.497 回答