如何对AVPlayer的播放和暂停操作执行某些操作?

时间:2015-12-02 08:50:52

标签: ios swift avplayer avplayerviewcontroller

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

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

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

2 个答案:

答案 0 :(得分:3)

以下是如何收听播放器状态更改和隐藏/显示按钮:(假设您的播放器名为 self.ax2 = self.ax.twinx() self.ax2lines, = self.ax2.plot([],[]) self.ax2lines.set_marker('D') self.ax2lines.set_color('cornflowerblue') self.ax2lines.set_markersize(10.0) self.lines, = self.ax.plot([],[]) def myPlot(self, data1, xFails, yFails): #self.ax.clear() xData = range(len(data1)) self.lines.set_ydata( data1) self.lines.set_xdata( xData) if xFails[xData[-1]]: print "something happened - mark it on the graph" self.ax2lines.set_ydata(yFails) self.ax2lines.set_xdata(xFails) ## Doesn't do anything ,按钮为player

playButton

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

答案 1 :(得分: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")
    }
}