Cast 架構提供佇列 API,可支援建立 在裝置上依序播放影片或音訊串流等內容 接收器。您可以編輯、重新排序、更新內容項目佇列 。
Web Receiver SDK 負責維護佇列,並回應 只要在佇列中至少有一個項目處於使用狀態 (播放中或 已暫停)。傳送者可以加入工作階段,並將項目新增至佇列。接收端 會維持佇列項目的工作階段,直到最後一個項目完成播放或是 傳送者停止播放並終止工作階段,或直到傳送者結束 在接收器上載入新的佇列。接收方不會 根據預設,終止佇列的相關資訊。佇列中的最後一個項目後 媒體工作階段結束後,佇列就會消失。
建立及載入媒體佇列項目
在 iOS 中,媒體佇列項目在 Cast 架構中會以
GCKMediaQueueItem
執行個體。
建立含有自動調整內容的媒體佇列項目時,您可以設定
預先載入時間,讓播放器在
排在佇列前的項目如要進一步瞭解預先載入功能,請參閱:
這個
網路接收端預先載入指南。
設定商品的自動播放方式 屬性設為 true,網頁接收端就能自動播放。例如: 您可以使用建構工具模式建立媒體佇列項目,如下所示:
let builder = GCKMediaQueueItemBuilder.init() builder.mediaInformation = mediaInformation builder.autoplay = true builder.preloadTime = 8.0 let newItem = builder.build()
GCKMediaQueueItemBuilder *builder = [[GCKMediaQueueItemBuilder alloc] init]; builder.mediaInformation = self.mediaInformation; builder.autoplay = YES; builder.preloadTime = 8.0; GCKMediaQueueItem *newItem = [builder build];
使用適當的
queueLoadItems
方法
GCKRemoteMediaClient
類別
接收媒體佇列狀態更新通知
當網路接收端載入媒體佇列項目時,會指派專屬 ID 給
項目。
您可以瞭解佇列狀態,掌握目前載入的項目
(可能不會播放)、載入或預先載入。你也可以向
清單中,列出所有項目。
GCKMediaStatus
敬上
類別會提供此狀態資訊:
preloadedItemID
敬上 resource - 目前預先載入的項目 ID (如果有的話)。loadingItemID
敬上 屬性 - 目前載入項目的 ID。currentItemID
敬上 屬性 - 目前佇列項目的 ID (如果有的話)。queueItemCount
敬上 method - 傳回播放佇列中的項目數量。queueItemAtIndex
敬上 method - 傳回播放佇列中指定索引的項目。
將這些成員與其他媒體狀態成員結合使用,做出明智的決策
應用程式,提供佇列狀態和佇列中項目的相關資訊。除了
媒體狀態更新可讓您監聽
佇列,方法是實作 -[remoteMediaClientDidUpdateQueue:]
GCKRemoteMediaClientListener
。
編輯待播清單
如要使用佇列中的項目,請使用
GCKRemoteMediaClient
。
您可以透過多種 API可讓您將一組項目載入新的佇列中,
將項目插入現有佇列中,請更新
佇列, 使項目在佇列中向前或向後跳轉,並設定
佇列本身 (例如,變更 repeatMode
來選取下一個
項目),從佇列中移除項目,然後重新排序佇列中的項目。