扩展 MediaRouteButton 行为

Posted

技术标签:

【中文标题】扩展 MediaRouteButton 行为【英文标题】:Extend MediaRouteButton behaviour 【发布时间】:2017-02-21 14:33:48 【问题描述】:

我正在构建一个可以投射到 Chromecast 和 AppleTV 设备的应用。这些设备的发现工作正常:ChromeCast 使用MediaRouter 发现,AppleTV 使用 SSDP 发现。目前,我有一个显示已发现设备组合列表的常规按钮,但我希​​望它使用花哨的投射按钮。

有没有一种优雅的方式来扩展 MediaRouteButton 以显示我自己的已发现设备列表,或者我应该使用 cast drawable 从头开始​​创建自己的按钮?

我知道MediaRouteButton 类可以扩展,但我不确定如何将扩展按钮应用到通过xml 声明的按钮。我觉得我错过了一些非常明显的东西,但我还没有找到。

【问题讨论】:

【参考方案1】:

您应该可以使用MediaRouteProvider APIs 来执行此操作。 Cast SDK 添加了一个 Cast Media Route Provider,您可以为您感兴趣的任何类型的设备构建自己的提供程序(有一个 android sample 展示了这一点,但我不确定它是如何更新的已保留)。如果您想使用 CastSDK (v3) 处理与两种类型的设备(由 Cast SDK 本身发现的设备和您通过自己的提供商发现的设备)的连接和建立会话,则应使用 Cast SDK 的 SessionProvider。有帖子(例如this)询问有关在 Cast SDK v3 中扩展 Session 和 SessionProviders 的问题。

【讨论】:

谢谢,我会调查一下。

以上是关于扩展 MediaRouteButton 行为的主要内容,如果未能解决你的问题,请参考以下文章

Android:默认禁用 MediaRouteButton

拆解不会影响 MediaRouteButton

MediaRouteButton 检测设备的回调

膨胀类 android.support.v7.app.MediaRouteButton 时出错

mac brew 安装php扩展报错:parent directory is world writable but not sticky

mac brew 安装php扩展报错:parent directory is world writable but not sticky