chromecast 接收器和发送器应用程序可以是同一个吗?

Can a chromecast receiver and sender apps be the same one?

我读到是possible to use the Web SDK to build a sender app that would run on Chrome in iOS or Android。是否有可能使同一个应用程序也成为接收器以投射到支持网络的电视?因此,与其拥有多个应用程序,不如我只有一个 PWA?

相同的代码库?是的。 同一个应用?第

发件人和收件人的工作截然不同。将您的发送方和接收方编写为同一项目的一部分,或者从同一台服务器为它们提供服务,这不是一个坏主意,但是如果制作您自己的接收方应用程序,那么 您的接收方需要自己的 URL 。 (要发布接收器应用,您告诉 Google 您的接收器 URL,然后 Chromecast 设备会在您投射到它们时加载该 url。)

你的发件人应用程序很复杂。它负责为用户提供他们可以点击的控件并将这些消息发送给接收者,但它可以有各种其他职责,具体取决于在你的申请上。它可能会执行搜索和浏览、实时更新或通知,它可能会让您的用户写消息或玩游戏或绘制精美的数字艺术——您希望您的应用程序完成的任何事情。

接收方的工作要简单得多:在发送方要求时播放音频或视频文件。接收器还需要响应 play/pause/stop 命令并显示基本状态信息,但此功能内置于 Cast 接收器库中,因此您无需自己编写任何内容。您可以添加弹出通知或自定义 css 样式等功能,但 所有用户交互都是通过发送器应用程序(或来自 Google 家庭应用程序,充当简单的遥控器)。此限制意味着您的许多功能仅属于您的发送方应用程序,而不属于接收方。

您的接收器应用也受到限制,因为它必须 运行 在处理能力和冷却能力有限的微型 Chromecast 加密狗上。将不必要的代码放入您的接收器应用程序 could result in the Chromecast overheating and shutting down

为了使您的代码尽可能简单,请考虑使用 default Chromecast receiver. This way, you don't have to write or maintain any receiver code. If you need more control over the receiver's styling or behavior, then build your own, but it doesn't have to be complex. The basic Cast Receiver app is thirteen lines of HTML - that's it. Depending on your requirements, you might add css styling, custom message or event handling, or an autoplay queue, but even with all of these features the sample CastReceiver project 只有 636 行代码。您的接收器绝对不需要像 Slack 或 Steam 桌面网络应用程序那样复杂。

利用与您的发送方应用共享代码库的项目管理优势,但您必须保持您的接收方小巧轻便。如果需要,请使用完整的 js/html/css 堆栈,但考虑将接收器编写为简短的 HTML 文档,甚至使用默认接收器。当您将接收器功能保持在最低限度时,您可以为您的用户提供可靠且响应迅速的 Chromecast 体验,同时仍允许通过发送器应用程序提供丰富的交互功能。