首页 > 解决方案 > NotificationCenter 观察者调用播放多个视频 - 快速 - 以编程方式

问题描述

我有不同UIView的 s 一个在另一个之上;他们每个人都使用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()
}

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

我怎样才能只做这个AVPlayer戏?

标签: swiftuiviewavplayernsnotificationcenter

解决方案


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


推荐阅读