【发布时间】:2014-03-21 15:46:57
【问题描述】:
我正在从 https://github.com/googlecast/CastVideos-android 运行演示。
它依赖于位于此处的库https://github.com/googlecast/CastCompanionLibrary-android
项目已设置好所有必要的库和所需的 jar。
项目编译运行没有问题,只是在actionBar中没有显示chromecast按钮。
如果我使用以下内容修改 onCreate,则会显示该按钮:
mSelector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
.addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
.addControlCategory(CastMediaControlIntent.categoryForCast(getResources().getString(R.string.app_id))).build();
并使用以下内容修改 onCreateOptionsMenu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
//mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
//Attach the MediaRouteSelector to the menu item
//MenuItem
mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider)MenuItemCompat.getActionProvider(mediaRouteMenuItem);
mediaRouteActionProvider.setRouteSelector(mSelector);
return true;
}
如果我只是将 onCreateOptionsMenu 保留为开箱即用,则它不起作用。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
return true;
}
关于为什么会这样的任何想法?
【问题讨论】:
-
你注册了App Id吗?您的设备是否已为您的应用列入白名单?检查您是否可以打开浏览器访问 http://
:9222,如果不能,则您的设备未列入白名单。在这种情况下,您可能需要按照此处的说明进行操作:stackoverflow.com/a/21619494/2765813 -
是的,我已经注册了一个 App Id。我在哪里可以找到 chromecast-ip?
-
在 Android 上使用 Chromecast 设置应用程序;它应该显示设备的 IP 地址
-
使用实际的 Chromecast 应用?
-
那它没有被列入白名单,请按照我之前的指示。
标签: java android google-cast chromecast