演示按钮未显示在演示中

时间:2014-02-20 15:28:31

标签: java android google-cast chromecast

我正在从https://github.com/googlecast/CastVideos-android运行演示。

这取决于位于此处的图书馆https://github.com/googlecast/CastCompanionLibrary-android

项目设置了所有必需的库和所需的jar。

除了chromecast按钮没有显示在actionBar中之外,项目编译并运行没有问题。

如果我使用以下

修改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;
    }

为什么会这样?

1 个答案:

答案 0 :(得分:4)

您的设备可能未针对您的应用列入白名单。您可能需要查看说明here