Android - 检测投射设备的类型
Posted
技术标签:
【中文标题】Android - 检测投射设备的类型【英文标题】:Android - detect type of Cast device 【发布时间】:2015-07-15 15:07:40 【问题描述】:有没有办法以某种方式识别我的应用程序所连接的 Cast 设备类型? (例如 Chromecast、Nexus、播放器等)
我正在使用 CastCompanionLibrary。关于连接和断开的逻辑在这个库中。在我的片段中,在onCreateOptionsMenu
中,我只有这行代码:
mCastManager.addMediaRouteButton(menu, R.id.media_route_menu_item);
mCastManager
是类VideoCastManager
的实例。我想大致解决我的问题。
首先,是否可以识别设备?
感谢您的帮助。
更新
我需要识别设备的原因很简单。一切都与 MPD 清单有关。它存在不止一种清单类型,我们使用 Time-Based Segment
清单。例如,有了这个清单,Chromecast 上的一切都可以正常工作。
但是,Nexus Player 上的此清单存在问题,因为在这种类型的设备上搜索中断。所以,我需要知道设备类型来通知用户,这是寻找无法正常工作的机会。
Segment-Base
清单在 Nexus Player 上运行良好,但将我们所有的视频 (Time-Based Segment
) 编码为 Segment Base
清单非常耗时。
【问题讨论】:
您的应用程序是如何连接的?您能否发布您的代码,以便我们有足够的上下文来回答这个问题? @EJK 我已经更新了我的问题,但我认为没有必要显示更多代码,因为我想知道一般的解决方案(如果它确实存在......) 【参考方案1】:一般而言,我们不希望创建一个生态系统,其中一些应用在一个投射设备上运行,而不是在其他设备上运行。所以我问你的问题是为什么你需要识别你正在运行的设备类型?在那些设备非常不同的情况下(例如启用 cast 的扬声器与 Chromecast),我们有“功能”api 来实现这种差异化。
【讨论】:
您是否针对您在 Nexus 播放器上看到的问题打开了错误?您应该将其视为需要解决的错误,并且(您的)应用程序不应尝试针对该问题执行任何解决方法。在 API 方面,没有任何 API 可以帮助您区分 Nexus 播放器和 Chromecast。 是的,我在这里打开了一个问题:code.google.com/p/google-cast-sdk/issues/… 好的,让我们继续这个话题;我在那里询问了更多信息。以上是关于Android - 检测投射设备的类型的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Android 应用程序中发现 Roku 设备以进行投射