2017-02-21 48 views
1

我正在构建可投射到Chromecast和AppleTV设备的应用程序。这些设备的发现正在发挥作用:使用MediaRouter发现ChromeCasts,并使用SSDP发现AppleTV。目前,我有一个常规按钮,显示已发现设备的组合列表,但我想让它使用花哨的投射按钮。扩展MediaRouteButton行为

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

我知道MediaRouteButton类可以扩展,但我不知道如何将扩展按钮应用于通过xml声明的按钮。我觉得我失去了一些显而易见的东西,但我还没有找到它。

回答

2

您应该可以使用MediaRouteProvider APIs来做到这一点。 Cast SDK增加了一个Cast Media Route Provider,你可以为你感兴趣的任何类型的设备构建你自己的提供者(这里有一个Android sample,它展示了这一点,但我不确定它是如何最新的保持)。如果您想使用CastSDK(v3)来处理连接并建立到两种类型的设备(Cast SDK自身发现的和通过自己的提供者发现的那些设备)的会话,则应该使用Cast SDK的SessionProvider。有些帖子(如this)询问在Cast SDK v3中扩展Session和SessionProviders。

+0

谢谢,我会研究这一点。 –

+0

在提到的帖子中没有解决方案..... – ingsaurabh