Kolejkowanie

Platforma Cast udostępnia interfejsy API do kolejkowania, które obsługują tworzenie list elementów treści, takich jak strumienie wideo czy audio, które można odtwarzać sekwencyjnie w odbiorniku internetowym. Kolejkę elementów treści można edytować, zmieniać ich kolejność i aktualizować itd.

Pakiet Web pickupr SDK utrzymuje kolejkę i odpowiada na operacje w kolejce, dopóki co najmniej 1 element jest w niej aktywny (odtwarzany lub wstrzymany). Nadawcy mogą dołączyć do sesji i dodać elementy do kolejki. Odbiorca utrzymuje sesję dotyczącą elementów w kolejce do momentu zakończenia odtwarzania ostatniego elementu, zatrzymania odtwarzania i zakończenia sesji przez nadawcę lub do chwili, gdy nadawca załaduje nową kolejkę na odbiorniku. Domyślnie odbiornik nie przechowuje żadnych informacji o zakończonych kolejkach. Gdy skończy się ostatni element w kolejce, sesja multimediów dobiegnie końca, a kolejka znika.

Tworzenie i wczytywanie elementów kolejki multimediów

W iOS element kolejki multimediów jest reprezentowany na platformie przesyłania jako instancja GCKMediaQueueItem. Podczas tworzenia elementu kolejki multimediów z zawartością adaptacyjną możesz ustawić czas wstępnego wczytywania, tak aby odtwarzacz rozpoczynał buforowanie elementu kolejki multimediów, zanim zakończy się odtwarzanie elementu, który poprzedza ten element w kolejce. Więcej informacji o wstępnym wczytywaniu znajdziesz w przewodniku po wstępnym wczytywaniu Web Odbieranie.

Jeśli atrybut autoodtwarzania elementu ma wartość Prawda, odbiornik internetowy może go automatycznie odtwarzać. Za pomocą wzorca kreatora możesz na przykład utworzyć element kolejki multimediów w taki sposób:

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

Wczytaj tablicę elementów kolejki multimediów w kolejce, używając odpowiedniej metody queueLoadItems klasy GCKRemoteMediaClient.

Aktualizacja stanu kolejki multimediów

Gdy odbiornik internetowy wczytuje element kolejki multimediów, przypisuje do niego unikalny identyfikator, który obowiązuje przez cały czas trwania sesji (i czasu trwania kolejki). Możesz poznać stan kolejki wskazujący, który element jest obecnie załadowany (może nie być odtwarzany), wczytywany lub wstępnie wczytany. Możesz też zobaczyć uporządkowaną listę wszystkich elementów w kolejce. Klasa GCKMediaStatus podaje następujące informacje o stanie:

  • preloadedItemID – identyfikator elementu, który jest aktualnie wstępnie wczytywany (jeśli istnieje).
  • loadingItemID – identyfikator elementu, który jest aktualnie wczytywany;
  • Właściwość currentItemID – identyfikator bieżącego elementu kolejki (jeśli istnieje).
  • Metoda queueItemCount – zwraca liczbę elementów w kolejce odtwarzania.
  • queueItemAtIndex – zwraca element o określonym indeksie w kolejce odtwarzania.

Możesz ich używać razem z innymi uczestnikami stanu multimediów, by informować aplikację o stanie kolejki i jej elementach. Oprócz aktualizacji stanu multimediów z odbiornika internetowego możesz nasłuchiwać zmian w kolejce, implementując -[remoteMediaClientDidUpdateQueue:] obiektu GCKRemoteMediaClientListener.

Edytuj kolejkę

Aby pracować z elementami w kolejce, użyj metod kolejki GCKRemoteMediaClient. jest kilka interfejsów API. Pozwala to wczytywać tablicę elementów do nowej kolejki, wstawiać elementy do istniejącej kolejki, aktualizować właściwości elementów w kolejce, przechodzić do przodu lub do tyłu w kolejce, ustawiać właściwości samej kolejki (np. zmieniać element repeatMode, który wybiera następny element), usuwać elementy z kolejki i zmieniać kolejność elementów w kolejce.