Android - 检测 Cast 设备的类型

Android - detect type of Cast device

有没有办法以某种方式识别我的应用程序连接到的 Cast 设备类型? (例如 Chromecast、Nexus、Player 等)

我正在使用 CastCompanionLibrary。关于连接和断开连接的逻辑在这个库中。在我的片段中,在 onCreateOptionsMenu 中,我只有这行代码:

mCastManager.addMediaRouteButton(menu, R.id.media_route_menu_item);

mCastManager 是 class VideoCastManager 的实例。我想大致解决我的问题。

首先,是否可以识别设备?

感谢您的帮助。

更新

我需要识别设备的原因很简单。一切都与 MPD 清单有关。它存在不止一种清单类型,我们使用 Time-Based Segment 清单。例如,使用此清单在 Chromecast 上一切正常。

但是,此清单在 Nexus Player 上存在问题,因为在此类设备上搜索已中断。所以,我需要知道设备类型来通知用户,这是搜索无法正常工作的机会。 Segment-Base 清单在 Nexus Player 上运行良好,但是将我们所有的视频 (Time-Based Segment) 编码为 Segment Base 清单非常耗时。

一般来说,我们不想创建一个生态系统,其中某些应用程序 运行 在一台投射设备上而不在其他设备上。所以我要问你的问题是,为什么你需要识别你正在使用的设备类型 运行?在那些设备非常不同的情况下(例如,支持投射的扬声器与 Chromecast),我们有 "capabilities" 允许这种差异化的 API。