MediaRoute对话框:断开与停止

时间:2015-08-27 08:55:48

标签: google-cast

我正在开发一个将音频和视频内容发送到chromecast的应用。但是当我们断开发件人应用程序时,我不想停止播放。

在mediaroute-v7包中,我们找到了断开或停止连接的选项。实际上,断开连接的按钮隐藏在https://github.com/android/platform_frameworks_support/blob/master/v7/mediarouter/res/layout/mr_media_route_controller_material_dialog_b.xml#L103上并使其可见mediaroute-v7获取SelectedRoute并检查https://github.com/android/platform_frameworks_support/blob/39b32a9feea6b821d6a5c92202c400aa1f252200/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java#L259上的布尔canDisconnect()。

有没有办法改变canDisconnect()的布尔值,所以我们可以用VideoCastManager显示按钮?或者如何让该按钮可见?

1 个答案:

答案 0 :(得分:2)

我认为你正在使用CCL(因为你提到了VideoCastManager)。您在那里看到的当前对话框由CCL发出,而不是mediarouter框架提供的对话框(除非您已重写了getMediaRouteDialogFactory())。在CCL中,您可以选择是否只需断开与演员设备的连接,或者在单击"停止演员"时停止在演员设备上运行的应用程序。在对话中;默认情况下,它只是断开连接并更改它,您必须调用setStopOnDisconnect(true)来强制它停止应用程序。也就是说,接收器端最常见的行为(默认和样式化接收器也遵循此行为)是在最后连接的设备故意断开连接时停止应用(即,如果最后连接的设备因网络中断而断开连接,它不会停止应用程序)。通过覆盖onSenderDisconnected(reason)回调,可以在接收方控制此行为。