El framework de Cast proporciona APIs en cola que admiten la creación de listas de elementos de contenido, como reproducciones de audio o video, para que se reproduzcan secuencialmente en la Web Receptor. La fila de elementos de contenido se puede editar, reordenar, actualizar, etc. de un proyecto.
El SDK del receptor web mantiene la cola y responde a las operaciones en la en espera, siempre que esta tenga al menos un elemento activo (en reproducción o se pausó). Los remitentes pueden unirse a la sesión y agregar elementos a la cola. El receptor mantiene una sesión para los elementos en cola hasta que el último elemento complete la reproducción o el emisor detiene la reproducción y finaliza la sesión, o hasta que carga una nueva cola en el receptor. El receptor no mantiene información sobre colas finalizadas de forma predeterminada. Cuando el último elemento en la fila finaliza la sesión multimedia y desaparece la cola.
Cómo crear y cargar elementos de la fila de medios
En iOS, un elemento de la cola de contenido multimedia se representa en el framework de Cast como un
Instancia GCKMediaQueueItem
.
Cuando creas un elemento de la fila de contenido multimedia con contenido adaptable, puedes configurar
tiempo de precarga para que el reproductor pueda comenzar a almacenar en búfer el elemento de la cola de medios antes de
el elemento que se encuentra delante de él en la fila termina de reproducirse. Más información sobre la precarga en
el
Guía de precarga de Receptor web.
Configuración de la reproducción automática del elemento como verdadero, permite que el receptor web lo reproduzca automáticamente. Por ejemplo: puedes usar un patrón de compilador para crear tu elemento de cola de contenido multimedia de la siguiente manera:
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];
Para cargar un array de elementos de la cola de contenido multimedia en la cola, usa el archivo
método queueLoadItems
de la
GCKRemoteMediaClient
.
Recibir actualización del estado de la fila de medios
Cuando el receptor web carga un elemento de la cola de medios, asigna un ID único al
elemento que persiste durante toda la sesión (y la vida de la cola).
Puedes conocer el estado de la cola que indica qué elemento está cargado actualmente
(es posible que no se esté reproduciendo), cargando o precargado. También puedes obtener un pedido
una lista de todos los elementos en la fila. El
GCKMediaStatus
proporciona la siguiente información de estado:
preloadedItemID
propiedad: el ID del elemento que está precargado actualmente, si lo hay.loadingItemID
propiedad: el ID del elemento que se está cargando en ese momentocurrentItemID
propiedad: el ID del elemento de la fila actual, si lo hay.queueItemCount
método: Muestra el número de elementos en la cola de reproducción.queueItemAtIndex
método: Muestra el elemento en el índice especificado en la cola de reproducción.
Usa estos miembros junto con otros miembros de tu estado en los medios para informar
app sobre el estado y los elementos en esta. Además de
actualizaciones de estado del contenido multimedia del receptor web, puedes detectar los cambios en el
mediante la implementación de -[remoteMediaClientDidUpdateQueue:]
de las
GCKRemoteMediaClientListener
Editar la cola
Para trabajar con los elementos en la cola, usa los métodos de cola de
GCKRemoteMediaClient
tienes varias APIs. Esto te permite cargar un array de elementos en una cola nueva
insertar elementos en una cola existente, actualizar las propiedades de los elementos en la
hacer que un elemento avance o retroceda en la cola, definir las propiedades de
la cola en sí (por ejemplo, cambia el repeatMode
que selecciona el siguiente
elemento), quitarlos de la fila y reordenarlos en la fila.