Mensajes de reproducción de contenido multimedia

Las aplicaciones emisoras de Google Cast controlan la reproducción en el dispositivo receptor enviando mensajes en formato JSON a la aplicación receptora. Del mismo modo, el receptor envía mensajes al remitente, también en formato JSON. Los mensajes pueden ser comandos del remitente que cambian el estado del reproductor, respuestas a esos comandos del receptor o estructuras de datos que describen el contenido multimedia para la aplicación del receptor.

De conformidad con las Condiciones del Servicio Adicionales para Desarrolladores del SDK de Google Cast, una aplicación de medios de Cast debe usar estos mensajes, tal como se definen aquí, para controlar la reproducción de medios en el receptor. De esta manera, la app de música tendrá una experiencia del usuario coherente en todas las plataformas y se garantizará que una aplicación de Cast admita casos de uso nuevos y futuros. Estas estructuras también admiten datos personalizados, cuando corresponde, y una aplicación puede definir sus propios mensajes para los comandos que no admite el SDK.

El espacio de nombres para los mensajes de reproducción de contenido multimedia se define como urn:x-cast:com.google.cast.media.

Nota: Los mensajes y las estructuras de esta especificación tienen un tamaño máximo implícito determinado por el tamaño máximo de un mensaje de transporte. No hay límite para los campos individuales. Actualmente, el tamaño máximo del mensaje de transporte es de 64 KB.

Estructuras de datos de espacios de nombres comunes

En un espacio de nombres común, se define un superconjunto de estructuras de datos que usan todos los artefactos del espacio de nombres de medios.

Imagen

Es la descripción de una imagen, que incluye una pequeña cantidad de metadatos para permitir que la aplicación emisora elija imágenes, según cómo las renderizará.

La altura y el ancho son opcionales en solo un elemento de un array de imágenes. Por ejemplo, si se devuelve un solo elemento, son opcionales; si se devuelven dos elementos, uno de ellos debe especificar una altura y un ancho, pero el remitente puede optar por la opción "predeterminada" si no le gusta la que se pasó con parámetros específicos.

Nombre Tipo Descripción
url URI URI de la imagen
height integer opcional Altura de la imagen
width integer opcional Ancho de la imagen

Volumen

Es el volumen de la transmisión de contenido multimedia. Se usa para los efectos de entrada y salida graduales en la transmisión de medios. (Nota: El volumen del sistema se cambia con las APIs del remitente). El volumen de la transmisión no se debe usar junto con el control deslizante o los botones de volumen para controlar el volumen del dispositivo. Se debe pasar al menos uno de los siguientes parámetros para cambiar el volumen de la transmisión.

Nombre Tipo Descripción
level doble opcional Nivel de volumen actual de la transmisión como un valor entre 0.0 y 1.0, donde 1.0 es el volumen máximo.
Silenciado booleano opcional Indica si el dispositivo Cast está silenciado, independientemente del nivel de volumen.

Estructuras de datos del espacio de nombres de medios

Estos mensajes describen el estado del reproductor multimedia. El espacio de nombres es urn:x-cast:com.google.cast.media.

MediaInformation

Esta estructura de datos describe un flujo de medios.

Nombre Tipo Descripción
contentId string Es el identificador específico del servicio del contenido que cargó el reproductor multimedia. Es una cadena de formato libre y específica de la aplicación. En la mayoría de los casos, será la URL del contenido multimedia, pero el remitente puede optar por pasar una cadena que el receptor pueda interpretar correctamente. Longitud máxima: 1,000
streamType enum
(string)

Describe el tipo de artefacto de medios como uno de los siguientes:

  • NINGUNO
  • BUFFERED
  • EN VIVO
contentType string Tipo de contenido MIME del contenido multimedia que se reproduce
metadata objeto

opcional Objeto de metadatos de medios, uno de los siguientes:

duración doble opcional Duración del stream que se está reproduciendo actualmente en segundos
customData objeto opcional Es un BLOB de datos específico de la aplicación que define la aplicación emisora o la aplicación receptora.

GenericMediaMetadata

Describe un artefacto de medios genérico.

Nombre Tipo Descripción
metadataType integer 0  (el único valor)
title string opcional Título descriptivo del contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
subtitle string opcional Es el subtítulo descriptivo del contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
imágenes Image[] opcional Es un array de URLs a una imagen asociada con el contenido. El remitente puede proporcionar el valor inicial del campo en el mensaje Load. Debe proporcionar los tamaños recomendados
releaseDate cadena (ISO 8601) Opcional Fecha y hora ISO 8601 en que se lanzó este contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.

MovieMediaMetadata

Describe un artefacto de medios de una película.

Nombre Tipo Descripción
metadataType integer 1  (el único valor)
title string opcional Título descriptivo del contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
subtitle string opcional Es el subtítulo descriptivo del contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
Studio string Opcional Es el estudio que lanzó el contenido. El reproductor puede recuperar el estudio de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
imágenes Image[] opcional Es un array de URLs a una imagen asociada con el contenido. El remitente puede proporcionar el valor inicial del campo en el mensaje Load. Debe proporcionar los tamaños recomendados
releaseDate cadena (ISO 8601) Opcional Fecha y hora ISO 8601 en que se lanzó este contenido. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.

TvShowMediaMetadata

Describe un artefacto de medios de un episodio de un programa de televisión.

Nombre Tipo Descripción
metadataType integer 2  (el único valor)
seriesTitle string opcional Título descriptivo de la serie de TV. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
subtitle string opcional Subtítulo descriptivo del episodio de TV. El reproductor puede recuperar el título de forma independiente con content_id, o bien el remitente puede proporcionarlo en el mensaje Load.
temporada integer opcional Número de temporada del programa de TV