扩展 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.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