<分区>
所以我知道 AVPlayerItemDidPlayToEndTimeNotification
是在电影“has played to its end time”时发送的'.
我的问题是玩家如何知道元素是否到达结束时间?我正在播放由第 3 方生成器生成的实时流。它不断更新 M3U8 并创建新的 TS 文件,直播应该这样做。但在某些时候,我的播放器收到 AVPlayerItemDidPlayToEndTimeNotification
并因此调用我的退出方法并退出。第三方流生成器仍然运行正常。我可以重新启动播放器并观看流。
由于正在播放的项目是直播,playerItem.duration
不是一个可读的持续时间数字,这使得寻找结束时间对我来说更像是一个黑魔法......
真的很困惑玩家如何看待它的结束。我的猜测是可能是 TS 文件有问题,让玩家认为整个游戏都结束了?但如果是这样,玩家是否应该改变状态说某事而不是默默地结束游戏?
附言我还尝试了不同的方法,比如让一个 ts 从 m3u8 列表中丢失,或者停止生成新的 ts,以便播放器可以播放当前的 m3u8 并播放最后一个 ts,没有任何事情发生 AVPlayerItemDidPlayToEndTimeNotification
魔法。 ..
我注册了如下通知:
[[NSNotificationCenter defaultCenter] addObserver:self
选择器:@选择器(playerItemDidReachEnd :)
名称:AVPlayerItemDidPlayToEndTimeNotification
object:self.playerItem];