Enfileiramento

O framework do Cast fornece APIs de enfileiramento compatíveis com a criação de listas de itens de conteúdo, como streams de vídeo ou áudio, para serem reproduzidos sequencialmente na Web Receptor. A fila de itens de conteúdo pode ser editada, reordenada, atualizada e assim por diante. para a frente.

O SDK do receptor da Web mantém a fila e responde às operações no fila desde que tenha pelo menos um item ativo no momento (em reprodução ou pausado). Os remetentes podem entrar na sessão e adicionar itens à fila. O destinatário mantém uma sessão para itens da fila até que o último item conclua a reprodução ou o remetente interrompe a reprodução e encerra a sessão ou até que o remetente carrega uma nova fila no receptor. O destinatário não mantém nenhum informações sobre filas encerradas por padrão. Quando o último item na fila é concluído, a sessão de mídia é encerrada e a fila desaparece.

Criar e carregar itens da fila de mídia

No iOS, um item de fila de mídia é representado no framework do Cast como um Instância do GCKMediaQueueItem. Ao criar um item de fila de mídia com conteúdo adaptável, é possível definir o tempo de pré-carregamento para que o player possa começar a armazenar em buffer o item da fila de mídia antes o item anterior na fila termina a reprodução. Saiba mais sobre o pré-carregamento na as Guia de pré-carregamento do receptor da Web

Definir a reprodução automática do item como verdadeiro, permite que o receptor da Web a reproduza automaticamente. Por exemplo: é possível usar um padrão builder para criar o item da fila de mídia da seguinte maneira:

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

Carregue uma matriz de itens da fila de mídia usando o método queueLoadItems do método GCKRemoteMediaClient .

Receber atualização do status da fila de mídia

Quando o receptor da Web carrega um item da fila de mídia, ele atribui um ID exclusivo ao que persiste durante a sessão (e a vida útil da fila). É possível saber o status da fila que indica qual item está carregado no momento (pode não estar sendo reproduzido), carregando ou pré-carregado. Também é possível receber um pedido lista de todos os itens na fila. A GCKMediaStatus fornece estas informações de status:

  • preloadedItemID propriedade: o ID do item que está pré-carregado no momento, se houver.
  • loadingItemID propriedade: o ID do item que está sendo carregado no momento
  • currentItemID propriedade - O ID do item da fila atual, se houver.
  • queueItemCount método - Retorna o número de itens na fila de reprodução.
  • queueItemAtIndex method - Retorna o item no índice especificado na fila de reprodução.

Use esses membros com os outros membros de status de mídia para informar seu sobre o status da fila e dos itens nela. Além de atualizações de status de mídia do receptor da Web, você pode detectar alterações no fila implementando -[remoteMediaClientDidUpdateQueue:] do GCKRemoteMediaClientListener.

Editar a fila

Para trabalhar com os itens na fila, use os métodos de fila do GCKRemoteMediaClient você tem várias APIs. Eles permitem carregar uma matriz de itens em uma nova fila, inserir itens em uma fila existente, atualizar as propriedades dos itens na fila, fazer um item pular para frente ou para trás na fila, definir as propriedades de a própria fila (por exemplo, mudar o repeatMode que seleciona o próximo item), remova e reorganize os itens da fila.