排队

Cast 框架提供的队列 API 支持创建 在网络上依序播放的内容项(如视频或音频流) 接收器。您可以对内容项队列进行编辑、重新排序、更新等操作 。

Web Receiver SDK 将维护队列并响应 只要队列中至少有一个当前处于活动状态(正在播放或 暂停)。发送者可以加入会话并向队列中添加内容。接收方 为队列项维护一个会话,直到最后一个项完成播放或 发送者停止播放并终止会话,或直到发送方停止播放 在接收设备上加载新队列。接收方不会维护任何 有关已终止队列的信息。当队列中的最后一项 则媒体会话结束,队列将消失。

创建和加载媒体队列项

在 iOS 中,媒体队列项在 Cast 框架中表示为 GCKMediaQueueItem 实例。 创建包含自适应内容的媒体队列项时,您可以将 以便播放器在播放媒体队列项目之前 在队列中前面的项播放完毕。如需详细了解预加载,请访问 该 网络接收器预加载指南

设置项的自动播放 属性设置为 true,则允许网络接收器自动播放。例如: 您可以使用构建器模式创建媒体队列项,如下所示:

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph>
Swift
let builder = GCKMediaQueueItemBuilder.init()
builder.mediaInformation = mediaInformation
builder.autoplay = true
builder.preloadTime = 8.0
let newItem = builder.build()
Objective-C
GCKMediaQueueItemBuilder *builder = [[GCKMediaQueueItemBuilder alloc] init];
builder.mediaInformation = self.mediaInformation;
builder.autoplay = YES;
builder.preloadTime = 8.0;
GCKMediaQueueItem *newItem = [builder build];

在队列中使用相应的 queueLoadItems 方法(属于 GCKRemoteMediaClient 类。

接收媒体队列状态更新

当网络接收器加载媒体队列项时,它会为 在会话期间(以及队列的生命周期内)保留的项。 您可以了解队列状态,指示当前已加载哪个项 (可能未播放)、正在加载或预加载。您还可以订购 队列中所有项的列表。通过 GCKMediaStatus 类提供以下状态信息:

将这些成员与其他媒体状态成员结合使用, 了解队列状态和队列中的项。除了 来自网络接收器的媒体状态更新,您可以监听 实现 -[remoteMediaClientDidUpdateQueue:]GCKRemoteMediaClientListener

修改队列

要处理队列中的项,请使用 GCKRemoteMediaClient。 您有多个 API利用这些元素,您可以将一组项加载到新队列中, 将项目插入现有队列、更新 使某个项在队列中快进或后退、设置 队列本身(例如,更改 repeatMode,以便选择下一个 项)、从队列中移除项,并对队列中的项重新排序。