ios - AVPlayer 无法移除时间观察者

标签 ios objective-c avplayer

我正在使用 AVPlayer 进行视频播放和 PIP(画中画)支持。我在 dealloc 时发现了一些崩溃。 AVPlayer .如果播放器处于 PIP 状态,并且应用程序调用:

[self.player removeTimeObserver:self.timeObserver]`

该应用程序将崩溃并显示以下信息。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'An instance of AVPlayer cannot remove a time observer that was added by a different instance of AVPlayer.'



它只发生在 PIP 状态,我检查了 AVPlayer没有改变。谢谢,有什么想法吗?

最佳答案

我想也许你在这里有保留周期。您可以检查您是否保留的 Controller 。在添加项目之前,您可以尝试删除观察者时间。

关于ios - AVPlayer 无法移除时间观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34525079/

相关文章:

ios - 当 subview 重叠时移动 AVPlayer 字幕

ios - 滑动按钮不会用于远程通知

ios - 将 UIButtons 添加为 subview 时 UIScrollView 不滚动

ios - 当自动布局约束在 View Controller 生命周期中设置框架时?

ios - MBProgressHUD 不显示

objective-c - 有什么方法可以序列化/反序列化 Objective-C block 吗?

ios - 如何修复 : 'seek(to:)' was deprecated in iOS 11. 0

ios - 将属性观察器添加到 Swift 类内部的全局变量

ios - iPhone 和 iPad 上的 View 放置方式不同

ios - iOS 6 上的 AVAssetResourceLoaderDelegate 协议(protocol)