Siri 搜索深度链接集成的 tvOS 问题

tvOS issue with Siri search deeplinking integration

我有一个问题,当用户正在播放视频时,当视频正在播放时,他使用 siri 搜索不同的电影,这将加载其相应的电影详细信息页面,然后 select 播放那部电影深层链接到您正在播放电影的应用程序,当我播放新的 selected 电影并关闭 avplayer 和 avplayercontroller 时,之前视频中的音频仍在继续播放。尽管我从 window 中清除了所有子视图并再次初始化其超级视图控制器 class,但不知何故 avplayer 未被清除。我不知道我能做些什么来擦除旧的 avplayer 实例。如果有人有任何建议或遇到类似问题,请告诉我。

几点建议:

  1. 你在继承 AVPlayerViewController 吗?如果是这样,那是个坏主意。 API 文档特别指出不要那样做。
  2. 添加一个deinit功能。如果在关闭旧的 AVPlayer 时没有调用它,您就知道存在保留问题。这通常是由注册通知或边界时间观察者引起的。
  3. 如果您的视图控制器有对 AVPlayer 对象的引用,您可以尝试覆盖 viewDidDisappear 函数来调用 player.pause() 然后首先将播放器引用设置为AVPlayer() 的新实例然后到 nil。不知道为什么这有帮助,但有时确实有用。

绝对执行上面的#2。如果 deinit 没有被调用,你肯定有问题。