swift - 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 UIView
s 中的所有其他玩家也开始播放......这对我来说很奇怪,因为我将观察者的对象设置为 onlyself.player.currentItem
我怎样才能只做这个AVPlayer
戏?
解决方案
问题是该代码存在于这些视图中的每一个中。因此,当通知发布时,所有这些视图都是观察者。于是他们都开始玩了。
推荐阅读
- awk - 如何使用 AWK 在特定时间段之间获取价值
- python - 有没有办法加快 tf.keras 中的嵌入层?
- apache-flink - 在不指定保存点 ID 的情况下重启 Flink 作业
- node.js - 我没有设置 CORS 标头,即使它已设置。为什么?
- multithreading - Spring使用分区并行批处理多个excel流
- python - Python:寻找组合
- android - 更新 firebase-perf 插件后,Android Studio 项目未编译(缺少类模块信息)
- mongoose - 为什么猫鼬在使用 GraphQL 时不更新文档?
- javascript - 在 JS 中解构时嵌套的部分对象默认值?
- php - 如何解决,htmlspecialchars() 期望参数 1 是字符串,给定对象 - laravel