AVPlayerItem在键值观察器仍在注册时被释放

3
我正在使用AVQueuePlayer,但有时会崩溃。我收到了这个日志。
AVPlayerItem was deallocated while key value observers were still registered with it.

什么是崩溃区域,请帮助我。

2个回答

1
如果您为任何键添加了观察者,您必须删除观察者。您可以通过在s的deinit方法中添加来实现这一点。
deinit {
   <observee>.removeObserver(self, forKeyPath::"<your key>")
}

0

看起来你忘记为你的播放器移除观察者了。

你有这样的代码吗?player.addPeriodicTimeObserverForInterval

如果是这样,你需要在你的控制器/对象的deinit方法中添加这行代码:

player.removeTimeObserver(observer)

还有一个可能被你忘记的:

player?.removeObserver(self, forKeyPath: "rate")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接