在应用程序中,当我们播放视频并进行 chrome 投射时,一切正常。 在 ViewController 中,我们设置 sessionManager 并访问 ViewController 中的所有视频控件。
#if !targetEnvironment(macCatalyst)
sessionManager = GCKCastContext.sharedInstance().sessionManager
castMediaController = GCKUIMediaController()
castMediaController.delegate = self
castMediaController.streamPositionLabel = controlsOverlayView.seekBar.minValueLabel
#endif
但是当我们在应用程序与电视进行投射会话时终止此应用程序时,我们也需要终止投射会话。 我们尝试将结束转换逻辑放在 AppDelegate applicationWillTerminate 方法中,但 AppDelegate 中的 sessionManager 为 hasConnectedSession 和 hasConnectedCastSession 返回 false。
如果应用被发送到后台但需要在应用终止时结束会话,我们可以继续投射。