Dispositivos de audio

Google Cast para dispositivos de audio solo admite la reproducción de audio. En esta guía, se describe cómo optimizar las aplicaciones de Cast para dispositivos de solo audio y aprovechar las demandas reducidas de memoria, CPU y uso del ancho de banda de la red.

Una app que admita Google Cast para audio debe tener en cuenta lo siguiente:

  • Google Cast para dispositivos de audio no muestra videos ni gráficos. Sin embargo, muchos dispositivos de audio tienen una pantalla para mostrar metadatos, como el estado de reproducción (reproducción o pausa) y el progreso. Tu aplicación no debe mostrar esa información crítica del usuario solo en el destinatario. La información crítica y la mayor parte de la interfaz de usuario deben mostrarse en el remitente.
  • Para ejecutar aplicaciones de receptor web correctamente, Google Cast para dispositivos de audio aún debe renderizar gráficos, aunque no se muestren. Dado que los dispositivos pueden no admitir operaciones de gráficos con aceleración de hardware, las aplicaciones del receptor deben evitar usar operaciones intensivas en gráficos, como gradientes de color, rotación, combinación alfa y volver a dibujar objetos grandes, como barras de progreso, más de una vez por segundo.
  • Google Cast para dispositivos de audio solo admite Widevine para contenido protegido por administración de derechos digitales (DRM).
  • En la mayoría de los dispositivos de audio Google Cast, la aplicación del remitente controla el rango de volumen completo del dispositivo (una bocina, por ejemplo), no solo el volumen de la entrada de la fuente de audio a la TV, como con un dispositivo Chromecast.
  • Además de controlar la reproducción con el dispositivo de envío (por ejemplo, un teléfono), es posible que la app deba proporcionar el control de la reproducción con los propios controladores del dispositivo, como un control remoto, botones integrados en el dispositivo o una aplicación de control remoto externa.
  • Un dispositivo Google Cast para audio puede admitir la visualización de metadatos de contenido con una pequeña pantalla LCD, una salida HDMI (para barras de sonido o receptores de audio y video) o una aplicación remota externa, según la IU específica del dispositivo.

Desarrollo

El primer paso para desarrollar una aplicación de Cast que admita Google Cast para audio es desarrollar una aplicación de Cast para audio y video, y asegurarse de que se ejecute en un Chromecast. En este documento, se supone que desarrollaste y probaste una app de este tipo.

Una app puede admitir dispositivos de audio y video, y de solo audio. Debe saber cuándo transmite a uno en lugar del otro y tomar medidas para garantizar la mejor experiencia del usuario en la situación dada.

Por ejemplo, las apps de audio y video duales (como las aplicaciones de reproducción de archivos locales o NAS) deben habilitar la transmisión a dispositivos de solo audio para admitir la reproducción de archivos de audio, pero la app no debe permitir que el usuario envíe archivos de video al dispositivo de solo audio. La app puede usar las APIs de capacidades del dispositivo para remitentes que se describen a continuación para determinar el contenido adecuado para el dispositivo.

Para admitir Google Cast para audio, tu app debe hacer lo siguiente:

  • Admite solo audio: música y archivos de audio en transmisión continua, radio, etc. El contenido multimedia que se transmite a la app de Web Receiver no debe ser una transmisión de video. Además, evita transmitir imágenes y gráficos para mejorar el tiempo de inicio de la aplicación y el uso de la memoria. Consulta los Lineamientos para el uso de la memoria que aparecen a continuación.

  • Se ejecuta como se espera en un dispositivo Cast para audio y en un Chromecast normal.

Funciones del dispositivo

Tu app puede saber si se ejecuta en un dispositivo de solo audio gracias a las APIs de capacidades del dispositivo, disponibles desde el dispositivo en sí o a través de las APIs del remitente o del receptor.

Encabezado HTTP del dispositivo

El encabezado HTTP CAST-DEVICE-CAPABILITIES que proporciona el dispositivo de Cast durante el inicio de la aplicación describe las capacidades del dispositivo. El dispositivo envía una solicitud con este encabezado al servidor que aloja la app del receptor web. El encabezado de un dispositivo de solo audio describe las capacidades del dispositivo con CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Cuando tu servidor recibe la solicitud del dispositivo, puedes usar la información de este encabezado para redireccionar la solicitud a la app del receptor web, que está optimizada para dispositivos de audio.

API de Web Receiver

Puedes obtener el mismo objeto de capacidades del dispositivo llamando a CastReceiverManager.getDeviceCapabilities() cuando se carga la app del receptor web.

Consulta Funciones del dispositivo para obtener más información.

APIs de remitente

Cada una de las APIs del emisor de Cast también tiene la información de las capacidades del dispositivo. Estos permiten que tu app de remitente determine qué tipo de contenido multimedia enviar al receptor. Si tu app admite audio y video, puede evitar enviar contenido de video a dispositivos que solo reproducen audio. Además, tu app puede controlar el volumen con el método más apropiado para el dispositivo, como se describe en la lista de tareas de diseño. Consulta las siguientes APIs de funciones del dispositivo para remitentes:

Lineamientos de uso de memoria

Las apps de receptor web que se ejecutan en dispositivos de audio deben administrar el uso de la memoria de la siguiente manera:

  • Evita descargar o usar recursos de imagen o gráficos para reducir el espacio en la memoria y acortar el tiempo hasta que comience la reproducción.
  • Cuando se usan extensiones de fuente de medios (MSE), las aplicaciones deben limitar el búfer de transmisión a 2 MB. Si usas la biblioteca del reproductor multimedia (MPL), la MPL ya definió el tamaño del búfer de transmisión de la aplicación.
  • Cuando se usa HTMLMediaElement, Chrome define el tamaño del búfer de transmisión de la aplicación según la tasa de transmisión. Limita la tasa de bits de audio a 2 megabits por segundo, que admite todos los códecs descritos en Medios admitidos (hasta 48 KHz/16 bits).

Control de volumen

En la mayoría de los dispositivos de audio Google Cast, la aplicación del remitente controla el rango de volumen completo del dispositivo, no solo el volumen de entrada de la fuente de audio, como ocurre con un dispositivo Chromecast. Esto significa que los incrementos de cambio de volumen deben ser más pequeños para las aplicaciones de solo audio. Consulta los siguientes documentos para obtener lineamientos sobre cómo proporcionar control de volumen en tu app:

Controles de dispositivos

Es posible que Google Cast para dispositivos de audio tenga sus propios controles de reproducción (como botones o controles remotos). Estos usan los mensajes de reproducción multimedia definidos para el espacio de nombres urn:x-cast:com.google.cast.media, como se describe en Mensajes de reproducción multimedia, para controlar la reproducción en la aplicación receptora. Tu aplicación receptora debe admitir estos mensajes de reproducción multimedia para admitir los controles de reproducción del dispositivo.

Además, tu app emisora debe admitir los mensajes del receptor al emisor para que, si el usuario cambia el estado del contenido multimedia con los controles del dispositivo, tu app emisora pueda recibir un mensaje de estado del receptor y actualizar la IU según corresponda.

Pantalla del dispositivo

Un dispositivo Google Cast para audio puede tener una pantalla LCD o una aplicación de control específica del dispositivo que muestre metadatos multimedia. Tu app del receptor debe proporcionar estos metadatos para todas las pistas de audio y asegurarse de que estén sincronizados con el contenido que se está reproduciendo para garantizar que los metadatos se muestren correctamente en la pantalla. Si la aplicación usa metadatos personalizados, también debe proporcionar los metadatos de audio estándar (nombre de la pista, nombre del artista, título del álbum, etcétera), como se describe a continuación para cada plataforma.

El receptor obtiene los metadatos del remitente cuando carga el contenido multimedia. En tu app de envío, con el comando para cargar el contenido multimedia en el receptor, debes especificar los campos que se describen a continuación para que los metadatos se muestren en el dispositivo Google Cast para audio. Usa las siguientes APIs:

Si la app de Cast administra una fila multimedia en el receptor o en la nube, el receptor web debe transmitir todas las actualizaciones de estado multimedia con el espacio de nombres urn:x-cast:com.google.cast.media para que todos los remitentes se sincronicen.

Registro

Debes registrar tu dispositivo de Google Cast para audio para realizar pruebas y registrar tu app para que sea compatible con Google Cast para dispositivos de audio con la Play Console del SDK de Google Cast.

  • Consulta Dispositivos para obtener más información sobre el registro de dispositivos.
  • Debes marcar la casilla de verificación Admite transmisión a dispositivos de solo audio cuando registres tu aplicación para permitir que esta descubra Google Cast para dispositivos de audio. Consulta Cómo registrar tu aplicación.

En el caso de las apps no publicadas, como las que se usan para pruebas, también debes seleccionar la opción para admitir dispositivos de solo audio para que la app los detecte.

Google Cast for Audio 2.0

Google Cast para audio (GC4A) 2.0 es la nueva generación de la plataforma de audio de Cast, diseñada para segmentar dispositivos con poca memoria y expandir el ecosistema de dispositivos que pueden transmitir tu contenido. Debido a que GC4A 2.0 se orienta a plataformas de audio, el conjunto de APIs web se reduce para alinearse con los dispositivos sin pantalla. GC4A 2.0 se lanzará en bocinas nuevas y existentes que admitan la transmisión.

Pruebas y depuración

Como todas las bocinas compatibles pasarán a GC4A 2.0, es importante que los desarrolladores de apps de audio prueben sus apps en GC4A 2.0. Puedes probar tu app para Cast para GC4A 2.0 en cualquiera de los dispositivos GC4A 2.0 que se indican aquí.

GC4A 2.0 no es compatible con el depurador remoto de Chrome. Si quieres depurar tu app, Google recomienda usar el Cast Debug Logger.

Dispositivos GC4A 2.0 disponibles

Esta es una lista no exhaustiva de los dispositivos GC4A 2.0:

  • Bose: Bocinas con Wi-Fi y barras de sonido inteligentes
  • JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 y 500
  • Samsung: Music Frame / Soundbars
  • LG: Barras de sonido S90TY/SG10TY/SE70Q/S80Q/S90Q
  • Bang & Olufsen Beosound 2 / Beocore Connect
  • Sonoro Maestro 2 / Meisterstruck 2
  • Cambridge Audio MXN10
  • KEF LS60 / LSX II
  • Teufel Motiv Home
  • Audio de Nordic Argon
  • WiiM CI MOD S / Ultra

Se recomienda probar todas las funciones de la app en GC4A 2.0. Asegúrate de incluir pruebas de reproducción de todos los tipos de contenido multimedia (podcasts, transmisiones, etc.), pausar, limpiar, omitir, cambiar playlists, detener y volver a conectar Cast.

API admitidas

GC4A 2.0 admite las siguientes APIs:

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • Documenta y crea subclases
  • DocumentFragment
  • HTMLMediaElement y HTMLAudioElement
  • HTMLVideoElement (solo puede reproducir contenido de audio)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Elementos personalizados
  • Shadow DOM
  • Módulos de secuencia de comandos / asíncronos / diferidos
  • Recuperación / XHR
  • WebSocket
  • MessagePort
  • Cookies
  • MSE (extensiones de fuente de medios)
  • EME (Extensiones multimedia encriptadas)
  • Almacenamiento local o de la sesión

GC4A 2.0 no admite lo siguiente:

  • Importación de módulos dinámicos (se agregará en 2024)
  • CSS
  • IFrame
  • TextTracks

Contacto

Comunícate con gc4a-support-external@google.com si necesitas ayuda para configurar las pruebas o no puedes usar una bocina Bose.