Agregar a una cola

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:

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

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 momento
  • currentItemID 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.