HLS流使用AVPlayer结束回调

时间:2017-08-10 05:47:19

标签: ios swift avplayer hls wowza

我正在使用wowza与HLS一起播放直播。现在,例如,如果有人正在观看实时流并且正在观看直播的人停止播放,则观看者端的直播流也应该停止,而不必刷新列表。

我所尝试的是设置观察者观察缓冲区和视频停止播放的状态变化等。

func addMyObservers() {

    NotificationCenter.default.addObserver(self, selector: #selector(videoStopped(_:)), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: self)

    self.addObserver(self, forKeyPath: "playbackLikelyToKeepUp", options: .new, context: nil)
    self.addObserver(self, forKeyPath: "playbackBufferEmpty", options: .new, context: nil)
    self.addObserver(self, forKeyPath: "playbackBufferFull", options: .new, context: nil)
}

现在我得到playBackBufferEmpty的回调,如果流已被用户端的流媒体停止,但不是AVPlayerItemDidPlayToEndTime,我猜这是可以理解的。

一种可能的解决方案是使用推送通知,但我想避免这种情况(因为无法保证它们被接收)而另一种解决方案是在后端创建套接字连接,这也是不可能的。

有没有人知道如何实现在流媒体停止录制或直播流结束时观众UI自动更新?

0 个答案:

没有答案