使用Android MediaRouter API发现Chromecast设备

时间:2014-03-09 22:00:40

标签: android casting google-cast chromecast

使用最新的mediarouter支持库(版本19)和Google Play服务版本4.2.43,使用Android MediaRouter API发现Chromecast设备无法正常工作。

我正在使用Cast Hello Text示例应用程序解决此问题。它可以在这里找到:https://github.com/googlecast/CastHelloText-android

我将我的chromecast设备插入电视并与Android设备(发件人)在同一网络中。

  1. 该应用程序启动并找到Chromecast设备。我重写了一些相关的MediaRouter.Callback方法,所以我看到正在调用onRouteAdded()。
  2. 稍后,我从电视上拔下设备。我希望得到一个onRouteRemoved()事件。但这绝不会发生。
  3. 该应用仍会显示投射图标。在从投射图标中选择设备时,应用程序尝试连接到设备并失败。现在我得到了路径选择()和onRouteRemoved()事件,并且转换图标消失了。
  4. 在将设备插回电视时,一旦设备显示主屏幕,我希望得到一个onRouteAdded()事件。即使等了几分钟,我也没有得到这个活动。
  5. 这在mediarouter库版本17和预览google cast SDK中正如预期的那样工作。

    因此,这些事件何时被解雇? 找出何时添加chromecast设备以及何时删除它的正确方法是什么?我计划使用带有MediaRouter API的自定义UI来显示强制转换图标和设备列表。

1 个答案:

答案 0 :(得分:1)

最新版本的Android SDK / Play服务中存在一个错误,导致您看到的行为。这将在下一版SDK和Google Play服务中修复。