如何制作自定义Cast MediaTraouter对话框

时间:2015-11-16 14:59:30

标签: android google-cast

我目前正在项目中使用CastCompanionLibrary。它运行良好,但我需要自定义Cast按钮的行为。

目前,正在显示包含Cast设备的对话框按钮(这是预期的行为)。此外,在投射时,会显示元数据和停止/启动按钮。我需要自定义这个。我不想显示停止/开始按钮。我怎样才能做到这一点?

以下是我的代码的相关部分:

<item
    android:id="@+id/media_route_menu_item"
    android:title="Google Cast"
    compat:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
    compat:showAsAction="always"/>

if (mCastManager != null) {
    mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
}

1 个答案:

答案 0 :(得分:0)

你有几个选择。首先,你应该注意,当你进行施法时,你可以建立你的应用程序,使得当时停止施放的行为将导致本地回放,因此“停止施放”按钮就足够了。如果您只是隐藏CCL提供的现有对话框的“内容”区域,则可以将布局文件“custom_media_route_controller_controls_dialog.xml”复制到您自己的项目中,只需隐藏您想要的区域(不要删除任何组件)但是将内容区域包装在一个简单的布局中并隐藏该布局)。如果您喜欢自己的,请按照CCL的说法进行操作;通过覆盖onCreateControllerDialogFragment()扩展MediaRouteDialogFactory,并定义您自己的MediaRouteControllerDialog扩展(请参阅CCL中的com.google.android.libraries.cast.companionlibrary.cast.dialog.video包),最后,扩展VideoCastManager并覆盖getMediaRouteDialogFactory()回到自己的工厂。