一个AVPlayer的AVPlayerItemDidPlayToEndTime行动当前播放的所有视频

2019-09-29 08:59发布

问题:在细胞的CollectionView具有播放器

如果我同时播放两个视频,并寻求第一视频结束,然后AVPlayerItemDidPlayToEndTime发射两次并重新启动两个视频

在收集观察室我有

override func awakeFromNib() {
        NotificationCenter.default.addObserver(forName: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player?.currentItem, queue: .main, using: {[weak self]  (notification) in
            if self?.player != nil {
                self?.player?.seek(to: kCMTimeZero)
                self?.player?.play()
            }
        })
   }

和一个播放按钮操作,其播放视频。
在电池我有滑块来寻求。

任何帮助,将不胜感激

Answer 1:

确保playerplayer?.currentItem不等于nil ,当你注册的通知。 对我来说,这似乎是他们中的一个是零,你基本上订阅所有的.AVPlayerItemDidPlayToEndTime通知(因为object是无)。

为了避免这种情况,订阅通知后,分配权AVAsset给玩家。



文章来源: One AVPlayer's AVPlayerItemDidPlayToEndTime action executed for all Currently playing videos