Coda

Il framework Cast fornisce API per le code che supportano la creazione di elenchi di contenuti, come stream video o audio, da riprodurre in sequenza sul ricevitore web. La coda dei contenuti può essere modificata, riordinata, aggiornata e così via.

L'SDK Web Receiver gestisce la coda e risponde alle operazioni sulla coda purché abbia almeno un elemento attivo (in riproduzione o in pausa). I mittenti possono partecipare alla sessione e aggiungere elementi alla coda. Il destinatario mantiene una sessione per gli elementi in coda fino a quando l'ultimo elemento non completa la riproduzione o il mittente interrompe la riproduzione e termina la sessione o finché un mittente non carica una nuova coda sul destinatario. Per impostazione predefinita, il destinatario non conserva informazioni sulle code terminate. Al termine dell'ultimo elemento in coda, la sessione multimediale termina e la coda scompare.

Crea e carica elementi della coda multimediale

In iOS, un elemento della coda multimediale è rappresentato nel framework di trasmissione come istanza GCKMediaQueueItem. Quando crei un elemento della coda multimediale con contenuti adattivi, puoi impostare il tempo di precaricamento in modo che il player possa iniziare a eseguire il buffering dell'elemento della coda multimediale prima che finisca la riproduzione dell'elemento che lo precede nella coda. Leggi ulteriori informazioni sul precaricamento nella guida al precaricamento del ricevitore web.

Se l'attributo di riproduzione automatica dell'elemento è impostato su true, il ricevitore web lo riproduce automaticamente. Ad esempio, puoi utilizzare un pattern del generatore per creare l'elemento della coda multimediale come segue:

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];

Carica un array di elementi di code multimediali nella coda utilizzando il metodo queueLoadItems appropriato della classe GCKRemoteMediaClient.

Ricevi aggiornamento dello stato della coda multimediale

Quando il ricevitore web carica un elemento della coda multimediale, assegna un ID univoco all'elemento che persiste per la durata della sessione (e per tutta la durata della coda). Puoi conoscere lo stato della coda, a indicare quale elemento è attualmente caricato (potrebbe non essere in riproduzione), in fase di caricamento o precaricato. Puoi anche ottenere un elenco ordinato di tutti gli articoli in coda. La classe GCKMediaStatus fornisce queste informazioni sullo stato:

  • Proprietà preloadedItemID: l'ID dell'elemento attualmente precaricato, se presente.
  • Proprietà loadingItemID: l'ID dell'elemento attualmente in fase di caricamento
  • Proprietà currentItemID: l'ID dell'elemento della coda corrente, se presente.
  • queueItemCount method: restituisce il numero di elementi nella coda di riproduzione.
  • queueItemAtIndex: restituisce l'elemento nell'indice specificato nella coda di riproduzione.

Utilizza questi membri insieme agli altri membri dello stato dei contenuti multimediali per comunicare alla tua app lo stato della coda e degli elementi in coda. Oltre agli aggiornamenti dello stato dei contenuti multimediali dal ricevitore web, puoi rimanere in ascolto delle modifiche apportate alla coda implementando -[remoteMediaClientDidUpdateQueue:] di GCKRemoteMediaClientListener.

Modifica la coda

Per lavorare con gli elementi in coda, utilizza i metodi di coda di GCKRemoteMediaClient. hai diverse API. che ti consentono di caricare un array di elementi in una nuova coda, di inserire elementi in una coda esistente, aggiornare le proprietà degli elementi nella coda, far avanzare o tornare indietro un elemento nella coda, impostare le proprietà della coda stessa (ad esempio modificare il repeatMode che seleziona l'elemento successivo), rimuovere elementi dalla coda e riordinare gli elementi nella coda.