android - 使用 Android MediaRouter API 发现 Chromecast 设备

标签 android casting google-cast chromecast

发现使用 Android MediaRouter API 的 Chromecast 设备在最新的 mediarouter 支持库(版本 19)和 google play 服务版本 4.2.43 中无法按预期工作。

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

我的 chromecast 设备已插入电视,并且与 Android 设备 (Sender) 位于同一网络中。

  1. 应用启动并找到 Chromecast 设备。我重写了一些相关的 MediaRouter.Callback 方法,所以我看到 onRouteAdded() 被调用了。
  2. 稍后,我将设备从电视上拔下。我希望得到一个 onRouteRemoved() 事件。但这永远不会发生。
  3. 应用程序仍然显示转换图标。从转换图标中选择设备时,应用程序会尝试连接到设备但失败。现在我收到 onRouteUnSelected() 和 onRouteRemoved() 事件,转换图标消失了。
  4. 将设备重新插入我的电视后,一旦设备显示主屏幕,我希望收到 onRouteAdded() 事件。即使等了几分钟,我也没有收到此事件。

这在 mediarouter 库版本 17 和预览版 google cast SDK 中按预期工作。

那么在触发这些事件的时间方面有什么变化吗? 找出何时添加 chromecast 设备以及何时删除它的正确方法是什么?我计划使用带有 MediaRouter API 的自定义 UI 来显示转换图标和设备列表。

最佳答案

最新版本的 Android SDK/Play 服务中存在导致您所看到的行为的错误。这将在下一版本的 SDK 和 Google Play 服务中得到解决。

关于android - 使用 Android MediaRouter API 发现 Chromecast 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288746/

相关文章:

google-cast - Google Cast 接收器应用程序

android - ListView 过滤器 Android

python - Django ORM - 将原始值分配给 DecimalField

c++ - 调整 std::streampos 的老式转换以兼容 g++ 4.4

ios - GCKMediaControlChannel 错误处理

java - 转换设备发现不适用于我的应用程序 ID

javascript - Ionic 3 - 下载文件到目录

android - Butterknife View 注入(inject)

android - 写 Parcelable 对象得到 java.io.NotSerializableException

c++ - 如何将结构转换为 char[] 数组?