通知中心观察者调用播放多个视频 - 迅速 - 以编程方式

问题描述

我有不同的UIView一个在另一个之上;他们每个人都使用 AVPlayer 播放视频 我需要在最后重播每个视频,为此我使用以下代码

NotificationCenter.default.addobserver(self,selector: #selector(playerDidReachEnd),name: .AVPlayerItemDidplayToEndTime,object: self.player.currentItem)

@objc fileprivate func playerDidReachEnd(){
 self.player.seek(to: .zero)
 self.player.play()
}

我注意到,当调用选择器时,另一个UIView的所有其他玩家也开始播放...... 这对我来说很奇怪,因为我将观察者的对象设置为仅 self.player.currentItem

我怎样才能只播放这个AVPlayer

解决方法

问题是这些代码都在这些视图中。因此,当发布通知时,所有这些视图都是观察者。所以他们都开始玩了。