我在使用 Android 版 cast SDK V3 时遇到问题。我找不到并设置MediaRouteButton的回调,当它变得可见时(检测chromecast设备)。 提前感谢!
您有几个选项,您需要尝试看看哪一个适合您的情况:
-
您可以使用
CastContext
注册CastStateListener
。此侦听器提供有关转换状态的信息,例如,其中之一是"没有可用的转换设备",因此您可以查看转换设备何时可用。 -
您可以使用
DiscoveryManagerListener
,当投射设备的可用性发生变化时,它会通知您。 -
当您使用
CastButtonFactory
添加投射按钮时,setUpMediaRouteButton
,您会得到一个MenuItem
。然后,您可以自己监视该菜单项的可见性。
我遇到了完全相同的问题
我首先设置它:CastButtonFactory.setUpMediaRouteButton(nContext,nCastButton);
然后是 CastContext 上的 addCastStateListener;
问题是没有足够的时间让CastButtonFactory识别我网络中的chromecast。所以听众首先用"没有设备"向我开枪
解决方法是在 SessionManager 上添加addSessionManagerListener,并且仅在 onSessionStarted 或 onSessionResumed 上添加 addCastStateListener,以开始在 CastContext 上设置 addCastStateListener