从一个发件人控制多个 Chromecast 接收器?

Posted

技术标签:

【中文标题】从一个发件人控制多个 Chromecast 接收器?【英文标题】:Controlling multiple Chromecast Receivers from one Sender? 【发布时间】:2015-11-14 11:39:33 【问题描述】:

是否可以编写一个 Chrome 扩展程序(或 android 应用程序)来创建多个 Sender,每个 Sender 连接到不同的 Receiver?

换句话说,我需要构建一个界面,操作员可以通过该界面控制附近多个不同 Chromecast 上的流 - 每个都将播放不同的视频流。

我从其他帖子中了解到 chrome.cast API 不允许这样做 - Chrome 扩展程序只能充当单个发件人?这个限制似乎是任意的——我在某处读到有人能够通过运行两个不同版本的 Chrome 来控制两个设备,所以如果 Chrome API 中存在这个限制,这不是由于底层协议的任何限制,对吗? (那么,政治呢?)

是否有较低级别的 API(可能在 Android 上?)允许您创建多个 Sender 并将它们连接到不同的 Receiver?

我看到一些应用程序(例如 Videostream)在您关闭 Sender 后似乎继续在 Receiver 上运行。例如,是否有可能在多个设备上启动 Receiver 应用程序,一次一个,让它们识别自己并连接到本地网络服务器,例如通过 WebSockets,然后让我的网络服务器向那些 Receiver 应用程序发送消息,要求它们更改视频流?

作为最后的手段,是否有底层协议的开放规范?

【问题讨论】:

【参考方案1】:

没有什么可以阻止您编写连接到 chromecast、启动应用程序然后断开与该设备的连接的发送方应用程序,同时让 chromecast 继续运行该应用程序;您需要确保在接收器检测到没有连接的设备时不要停止接收器。然后,在发送方,您可以重复相同的过程,但这次连接到第二个设备,依此类推。需要记住的重要一点是,您的发送设备不能同时拥有多个设备的多个并发连接(MediaRouter 是一个全局实例);这意味着您无法从不同的 Cast 设备接收消息(状态更新等),但您当时直接连接的设备除外。此外,没有什么可以阻止不同的用户连接到这些设备之一并启动不同的应用程序。

回答你的其他问题,底层协议未开放。

【讨论】:

如果另一个用户“劫持”我的接收器,他必须登录到我的本地 wi-fi 网络,对吗? 是的,除非您启用了访客模式,在这种情况下,他们可以“靠近”您的设备进行投射。

以上是关于从一个发件人控制多个 Chromecast 接收器?的主要内容,如果未能解决你的问题,请参考以下文章

在开始时控制 Chromecast 缓冲

单个网页上的多个 Chromecast 发件人

Chromecast 发件人作为 PlayReady 许可证提供者

无法调试 Chromecast 的自定义接收器应用程序

Android:使用 ChromeCast 发件人进行多项活动

Chromecast API 发件人 - Android 手机