是否可以以编程方式连接到 chromecast 路由?

Don*_*nie 4 html chromecast

我正在编写一个 chromecast 接收器应用程序,它(希望)允许我远程将警报消息放在电视上以作为提醒。

我的计划是在我的家庭网络上安装一个专用无线设备,它会不断轮询来自中央服务器的新消息。当发现新消息时,它会连接到 chromecast 路由,打开电视并显示新消息。

但据我所知,激活 chromecast 路由的唯一方法是手动单击 Chrome 浏览器或无线设备上的 chromecast 图标。

有没有办法以编程方式激活 chromecast?可以在发件人处完成吗?

Ali*_*daf 6

您可以通过编程方式扫描投射设备并根据需要连接到它们。步骤是:

  1. 从系统获取 MediaRouter 单例的实例:mMediaRouter
  2. 构建一个选择器: mMediaRouteSelector = new MediaRouteSelector.Builder() .addControlCategory( CastMediaControlIntent .categoryForCast(YOUR_APP_ID)).build();
  3. 添加回调以启动扫描: mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback, MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);
  4. onRouteAdded()当发现或删除路由时,将调用onRouteRemoved()您的回调(即 )的和。mMediaRouterCallback您可以在应用程序中维护路由列表,并使用这两个回调使它们保持最新状态。
  5. 您可以通过拨打 来选择路线mMediaRouter.selectRoute(aRouteInfo)。然后onRouteSelected()您的回调将被调用,您可以照常提取投射设备并按照您的意愿进行操作。

这些说,请记住,如果您想在电视上向用户显示通知,您的应用程序应该在您想要发送通知时在 chromecast 上运行。