ios - 对所有当前播放的视频执行一个 AVPlayer 的 AVPlayerItemDidPlayToEndTime 操作

标签 ios swift avplayer

问题:在有播放器的 collectionview 单元格中

如果我同时播放两个视频并寻找第一个视频结束然后 AVPlayerItemDidPlayToEndTime 触发两次并且两个视频都重新启动

在我的 Collection View 单元格中

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()
            }
        })
   }

和一个播放视频的播放按钮操作。
在单元格中,我有要查找的 slider 。

enter image description here

任何帮助将不胜感激

最佳答案

注册通知时,请确保 playerplayer?.currentItem 不等于 nil。在我看来,其中一个似乎是 nil,您基本上订阅了所有 .AVPlayerItemDidPlayToEndTime 通知(因为 object 是 nil)。

为避免这种情况,请在将 AVAsset 分配给播放器后立即订阅通知。

关于ios - 对所有当前播放的视频执行一个 AVPlayer 的 AVPlayerItemDidPlayToEndTime 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49403336/

相关文章:

ios - Bool WebView 功能未按计划工作

ios - 导航栏上的常用栏按钮项

ios - AVPlayer 早期停止了 Swift 3

ios - AVPlayer seekToTime 方法在 iOS 9 上停止工作

ios - 从 Swift 3 中的自定义 UITableViewCell 检测 UIButton

ios - CLViewController,全屏显示细节 View ,iOS sdk

html - 单选按钮在 iPad 上显示不正确

swift - Cocoa NSTextField 值未更改

ios - 缓存 NSDateformatter 应用程序范围的好主意吗?

swift - 确定 SceneKit 中 SKVideoNode 的视频大小/纵横比