我目前正在项目中使用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);
}
答案 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()回到自己的工厂。