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 reprodução sequencial no receptor da Web. A fila de itens de conteúdo pode ser editada, reordenada, atualizada e assim por diante.
O SDK do receptor da Web mantém a fila e responde às operações na fila, desde que ela tenha pelo menos um item ativo no momento (em reprodução ou pausado). Os remetentes podem participar da sessão e adicionar itens à fila. O receptor mantém uma sessão para itens da fila até que o último item conclua a reprodução, o remetente interrompa a reprodução e encerre a sessão ou até que um remetente carregue uma nova fila no receptor. Por padrão, o receptor não mantém informações sobre filas encerradas. Quando o último item da fila termina, a sessão de mídia é encerrada e a fila desaparece.
Criar e carregar itens da fila de mídia
No iOS, um item da fila de mídia é representado no framework do Google Cast como uma
instância GCKMediaQueueItem
.
Ao criar um item da 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 o item da fila de mídia em buffer antes
que o item à frente dele na fila termine de ser reproduzido. Saiba mais sobre pré-carregamento no
Guia de pré-carregamento do receptor da Web.
Definir o atributo de reprodução automática do item como "true" permite que o receptor da Web o reproduza automaticamente. Por exemplo, é possível usar um padrão de builder para criar o item da fila de mídia da seguinte maneira:
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];
Carregue uma matriz de itens da fila de mídia usando o método
queueLoadItems
apropriado da
classe
GCKRemoteMediaClient
.
Receber atualização de 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
item que persiste pela duração da sessão (e da vida da fila).
Você pode saber o status da fila, indicando qual item está carregado no momento (pode não estar sendo reproduzido), carregando ou pré-carregado. Também é possível ver uma lista ordenada
de todos os itens na fila. A classe
GCKMediaStatus
fornece estas informações de status:
- Propriedade
preloadedItemID
: o ID do item pré-carregado no momento, se houver. - Propriedade
loadingItemID
: o ID do item que está sendo carregado no momento. - Propriedade
currentItemID
: ID do item da fila atual, se houver. - Método
queueItemCount
: retorna o número de itens na fila de reprodução. - Método
queueItemAtIndex
: retorna o item no índice especificado na fila de reprodução.
Use esses membros com outros membros de status de mídia para informar ao
app sobre o status da fila e os itens nela. Além das
atualizações de status da mídia do Web Receiver, é possível detectar mudanças na
fila implementando -[remoteMediaClientDidUpdateQueue:]
da
GCKRemoteMediaClientListener
.
Editar a fila
Para trabalhar com os itens na fila, use os métodos de fila de
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 de itens na
fila, fazer um item avançar ou retroceder na fila, definir as propriedades da
própria fila (por exemplo, alterar a repeatMode
que seleciona o próximo
item), remover itens da fila e reordenar os itens na fila.