我遇到一个问题,当用户正在播放视频时,当视频正在播放时,他使用siri搜索其他电影,这将加载其相应的电影详细信息页面,然后选择播放该电影,并深层链接至您正在播放电影的应用程序,当我播放新选择的电影并关闭avplayer和avplayercontroller时,以前视频的音频仍会继续播放。尽管我清除了窗口中的所有子视图并再次初始化其超级视图控制器类,但还是无法清除avplayer。我无能为力,我该怎么办擦除avplayer的旧实例。让我知道是否有人有任何建议或遇到类似的问题。
答案 0 :(得分:0)
一些建议:
AVPlayerViewController
?如果是这样,那是个坏主意。 API文档明确表示不这样做。deinit
函数。如果在关闭旧的AVPlayer
时没有调用它,则说明您有保留问题。这通常是由于注册通知或边界时间观察者引起的。AVPlayer
对象的引用,则可以尝试覆盖viewDidDisappear
函数以调用player.pause(),然后将播放器引用首先设置为{ {1}},然后移至AVPlayer()
。不确定为什么这样做有帮助,但有时有帮助。绝对实现上面的#2。如果没有调用deinit,那么您肯定会遇到问题。