代码之家  ›  专栏  ›  技术社区  ›  Huy Duong Tu

Youtube应用向ChromeCast播放视频

  •  2
  • Huy Duong Tu  · 技术社区  · 12 年前

    我尝试使用Android手机通过Youtube应用向Chromecast设备播放。我在队列中添加了一些视频,然后我用另一部手机播放到Chromecast设备。第二个自动知道添加到第一个队列中的视频。
    我不知道Youtube应用程序如何做到这一点?

    编辑 我猜Youtube应用程序除了使用媒体频道外,还使用了一个自定义数据频道。当视频添加到队列中时,发送方应用程序将向接收方发送一些信息(例如:videoId)。接收器会将其保存在视频ID数组中。当另一部手机连接到Chromecast设备时,它会从接收器接收视频ID数组。有人能给出其他解决方案吗?谢谢

    1 回复  |  直到 12 年前
        1
  •  1
  •   Ali Naddaf    12 年前

    我猜你要问的是,如何创建一个播放列表,可能会被多个设备共享。如果是这样的话,你有两个选择:

    • 将播放列表保存在接收器中:这是最简单的选项。这将是接收器上的一个简单数组,保存在内存中,当应用程序结束时,它将消失。需要一个自定义的接收方,它可以实现诸如“append”、“insert”、“get”、“clear”等方法,以提供发送方所需的信息。当每个发送方连接时,它可以请求(例如调用“get”)当前的“队列”,然后可以通过其他方法修改队列,例如“clear”、“append”、“insert”等。请注意,接收方没有长期持久性(本地存储可用,但随着应用程序的消失,将被清除为儿子)。

      • 将播放列表保存在云中:您需要执行上一个选项中所做的大部分操作,但也可以将播放列表保留到云中;优点是播放列表持续时间超过会话的生命周期(这可能是期望的,也可能不是期望的)。此外,如果需要,发送方应用程序可以直接从云端获取播放列表。

    重要的是,播放列表的主要存储空间不是发件人设备;他们不知道(也不应该知道)生态系统中其他发送者的存在。

    在接收方,我们最近发布了一个简单的示例,介绍了如何实现(本地)播放列表的概念;这是一个简化的例子,但足以表明,只要稍加努力,您就可以利用媒体频道;对于更复杂的共享队列处理,您肯定需要一个脱离绑定的通道/名称空间来处理我上面提到的所有附加api。