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 que solo reproducen audio y cómo aprovechar las demandas reducidas en cuanto a la utilización del ancho de banda de red, de CPU y de memoria.

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

  • Google Cast para dispositivos de audio no muestra video ni gráficos. Sin embargo, muchos dispositivos de audio tienen una pantalla para mostrar metadatos, como el estado de reproducción (en reproducción o en pausa) y el progreso. Tu aplicación no debe mostrar esa información crítica del usuario solo en el receptor; la información crítica y la mayor parte de la interfaz de usuario deben mostrarse en el emisor.
  • Para ejecutar correctamente las aplicaciones de receptores web, Google Cast para dispositivos de audio debe procesar gráficos aunque no se muestren. Dado que los dispositivos podrían no admitir operaciones de gráficos acelerados por hardware, las aplicaciones receptoras deben evitar el uso de operaciones con alto contenido gráfico, 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 Google Cast para dispositivos de audio, la aplicación emisora controla todo el rango de volumen del dispositivo (por ejemplo, una bocina), no solo el volumen de la entrada de la fuente de audio a la TV, como sucede con un dispositivo Chromecast.
  • Además de controlar la reproducción con el dispositivo emisor (por ejemplo, un teléfono), es posible que la app deba proporcionar funciones para controlar la reproducción con los controladores del dispositivo, como un control remoto, botones del dispositivo o una aplicación remota externa.
  • Un dispositivo Google Cast para audio puede admitir la visualización de metadatos de contenido con una pantalla LCD pequeña, 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 en el desarrollo de una aplicación 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 da por sentado que has desarrollado y probado esa app.

Una app puede admitir dispositivos que admiten audio y video o solo audio. Necesita saber cuándo se transmite a una en comparación con otra y tomar medidas para garantizar la mejor experiencia del usuario en la situación dada.

Por ejemplo, las apps de audio y video dobles (como las aplicaciones de reproducción de archivos locales/NAS) deberían habilitar la transmisión a dispositivos que solo reproducen audio para admitir la reproducción de archivos de audio, pero no debe permitir al usuario enviar archivos de video al dispositivo que solo admite audio. La app puede usar las APIs de capacidades del dispositivo para remitentes que se describen a continuación a fin de determinar el contenido apropiado para el dispositivo.

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

  • Compatibilidad con solo audio: transmisión de archivos de música y audio, radio, etc. El contenido multimedia transmitido a la app de Web Receiver no debe ser una transmisión de video por Internet. Además, evita la transmisión de imágenes y gráficos para mejorar el tiempo de inicio de la aplicación y el uso de memoria. Consulta los Lineamientos de uso de memoria a continuación.

  • Se ejecuta como se espera en un dispositivo Cast para dispositivos de audio, así como en un Chromecast común.

Funciones del dispositivo

Tu app puede saber si se está ejecutando en un dispositivo solo de audio gracias a las APIs de capacidades del dispositivo, disponibles en el dispositivo mismo o a través de las APIs de la emisora o del receptor.

Encabezado HTTP del dispositivo

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

Cuando el servidor recibe la solicitud del dispositivo, puedes usar la información de este encabezado a fin de redireccionar la solicitud a la app receptora 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 cargue la app del Receptor web.

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

APIs de remitente

Cada una de las APIs de envío de Cast también tiene la información sobre las funciones del dispositivo. Estos permiten que la app emisora determine qué tipo de contenido multimedia enviar a la app receptora. Si tu app admite audio y video, puedes evitar el envío de contenido de video a dispositivos que solo incluyen 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 la memoria

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

  • Evita descargar o usar recursos de imagen o gráficos para reducir el espacio en 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 de Media Player (MPL), la MPL ya define 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 velocidad de transmisión. Limita la tasa de bits de audio a 2 megabits por segundo, lo cual admite todos los códecs descritos en Contenido multimedia compatible (hasta 48 KHz/16 bits).

Control de volumen

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

Controles de dispositivos

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

Además, la app emisora debería admitir Mensajes de receptor a remitente para que, si el usuario cambia el estado del contenido multimedia con los controles del dispositivo, la 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 en el dispositivo o una aplicación de control específica del dispositivo que muestra metadatos de contenido multimedia. Tu app receptora debe proporcionar estos metadatos para todas las pistas de audio y asegurarse de que estén sincronizados con el contenido que se está reproduciendo en ese momento a fin de 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.) como se describe para cada plataforma a continuación.

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

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

Registro

Debes registrar tu dispositivo de audio de Google Cast para realizar pruebas y registrar tu app a fin de que admita Google Cast para dispositivos de audio mediante la Consola para desarrolladores del SDK de Google Cast.

  • Consulta Dispositivos a fin de obtener más información para registrar dispositivos.
  • Debes marcar la casilla de verificación Admite la transmisión a dispositivos de solo audio cuando registres tu aplicación para permitir que detecte Google Cast para dispositivos de audio. Consulta Registra tu solicitud.

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

Google Cast para audio 2.0

Google Cast for Audio (GC4A) 2.0 es la plataforma de audio Cast de nueva generación diseñada para orientarse a dispositivos con poca memoria y expandir el ecosistema de dispositivos que pueden transmitir tu contenido.

Es importante que los desarrolladores de apps de audio prueben sus apps en GC4A 2.0. Puedes probar tu app de Cast para GC4A 2.0 en una bocina Bose de producción (por ejemplo, la bocina inteligente de Bose 500).

Comunícate con gc4a-support-external@google.com si necesitas ayuda con la configuración para las pruebas o si no puedes usar una bocina Bose. Si deseas depurar tu app, Google te recomienda usar el Registro de depuración de transmisión.