无法获取网络上的强制转换设备列表

时间:2014-02-14 08:40:41

标签: android google-cast chromecast

我正在尝试在Android中以编程方式获取演员设备列表,而不使用SDK中的MediaRouteActionProvider按钮。

我创建了一个MediaRouter和MediaRouteSelector,如下所示:

mMediaRouter = MediaRouter.getInstance(this);
mMediaRouteSelector = new MediaRouteSelector.Builder()
   .addControlCategory(CastMediaControlIntent.CATEGORY_CAST)
   .build();

然后我开始发现:

mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
   MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);

在onProviderAdded回调方法中,我似乎只有3个提供商:Android,com.google.android.youtube和com.google.android.gms。只有'android'提供了一条路线,名为'Phone'。

为什么我的chromecast设备不显示?其他应用程序可以看到它,所以我应该有连接。

2 个答案:

答案 0 :(得分:1)

好的,对我有用的是:

在媒体路由器回调中添加onRouteAdded方法,并查找包含以下说明的设备:“Chromecast”

答案 1 :(得分:0)

您必须侦听onRouteAdded和onRouteRemoved以获得更新。在此方法内,您可以要求MediaRouter提供所有可用的路由,并仅过滤具有以下条件的路由:

playbackType == MediaRouter.RouteInfo.PLAYBACK_TYPE_REMOTE