Google cast 如何以编程方式显示“选择设备”对话框?

Google cast 如何以编程方式显示“选择设备”对话框?,google-cast,chromecast,Google Cast,Chromecast,我正在使用Cast Companion库,它的大部分工作都很好,但是我还没有弄清楚如何以编程方式显示设备选择器 基本上,当用户在我的应用程序上选择视频时,如果他们还没有连接,我会向他们展示 谢谢。您需要“使用MediaRouter API和MediaRouter.Callback开发自定义UI”,但我没有找到任何示例。首先,我建议您不要这样做。我不知道你打算在你的应用程序中做什么,所以我不能说太多,但不要在用户交互/流方面做一些与其他应用程序和框架提供的应用程序不同的自定义操作;人们不会想到这一

我正在使用Cast Companion库,它的大部分工作都很好,但是我还没有弄清楚如何以编程方式显示设备选择器

基本上,当用户在我的应用程序上选择视频时,如果他们还没有连接,我会向他们展示


谢谢。

您需要“使用MediaRouter API和MediaRouter.Callback开发自定义UI”,但我没有找到任何示例。首先,我建议您不要这样做。我不知道你打算在你的应用程序中做什么,所以我不能说太多,但不要在用户交互/流方面做一些与其他应用程序和框架提供的应用程序不同的自定义操作;人们不会想到这一点

在技术方面,如果您想打开标准对话框,我不知道有什么诀窍,但我还没有看过v7支持库中的MediaRouter代码;因为这是开源的,所以欢迎您查看其中的内容,看看是否有任何简单的方法可以做到这一点。如果你想设计你的定制一个,你应该能够做到这一点;CastCompanionLibrary提供了回调对话框的示例,选择器的示例遵循类似的模式


作为旁注,您提到要在用户选择电影时打开选择器。那么,他们如何选择在当地打球呢?您是否计划向该对话框添加其他选择以进行本地播放?

如果您使用的是MediaRouteButton,并且可以访问:

mediaRouteButton.performClick();

我试图在两个应用程序上实现这一点。在一个应用程序中,我想问用户是否希望在设备或chromecast上显示此内容,并选中“不再询问”复选框。在另一个应用程序上,本地播放内容并没有多大意义,因为它实际上只能在chromecast上播放。当用户忘记选择设备时显示对话框的建议实际上来自经常忘记选择设备的用户。为了保持应用程序之间的一致性,如果他们单击播放但尚未选择设备,您是否可以弹出一个对话框(甚至是一个吐司)?是的,吐司是我现在正在做的。我可能会创建自己的对话框,并将“此设备”添加到列表的顶部,就像我认为netflix一样。我认为“本地播放”甚至与该应用程序无关,所以为什么要添加“此设备”作为选项?我们的用户体验指南建议不要将其作为选项添加。