【问题标题】:Casting video to ChromeCast by Youtube app通过 Youtube 应用将视频投射到 ChromeCast
【发布时间】:2014-04-30 21:00:15
【问题描述】:

我尝试使用 Android 手机通过 Youtube 应用投射到 Chromecast 设备。我将一些视频添加到队列中,然后我使用另一部手机投射到 Chromecast 设备。第二个自动知道添加到第一个队列中的视频。
不知道 Youtube app 是怎么做到的?

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

【问题讨论】:

    标签: android google-cast


    【解决方案1】:

    我猜您要问的是如何创建一个可能由多个设备共享的播放列表。如果是这种情况,您有两种选择:

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

      • 将播放列表保存在云端:您需要完成上一个选项中所做的大部分事情,但您也需要将播放列表保存到云端;优点是播放列表会持续超过会话的生命周期(这可能是也可能不是需要的)。此外,如果需要,发送者应用可能会直接从云端获取播放列表。

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

    在接收端,我们最近发布了一个简单的示例,说明如何实现(本地)播放列表的概念;这是一个简化的示例,但足以表明只需最少的工作,您就可以利用媒体频道;为了更复杂地处理共享队列,您肯定需要一个越界通道/命名空间来处理我上面提到的所有其他 api。

    【讨论】:

    • 感谢您很快的回复。我更喜欢将播放列表保存在云端,以便我仍然可以使用样式化的媒体接收器。但我不知道如何将其保存在云端。这是否意味着我必须创建一个文件(在服务器中)来保存数据。然后,如果需要,我只需访问此文件并对其进行解析以获取数据。
    • 我决定将播放列表保存在服务器的数据库中。添加、删除或获取数据等功能与发送者(而不是接收者)相关。当没有发送者连接到接收者时,我想删除数据。发送方如何知道自己是否是最后一个连接到接收方的,以便将服务器中的数据删除
    • 发件人不知道,您应该在您的收件人中添加一个api,以便他们可以询问收件人。
    猜你喜欢
    • 2014-03-13
    • 2014-06-08
    • 2017-08-29
    • 2015-11-09
    • 2015-07-25
    • 2016-03-02
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多