Las apps de contenido multimedia que interactúan por voz con Asistente de Google en teléfonos, automóviles, TVs y auriculares Android se basan en las APIs de sesión multimedia de Android y usan acciones multimedia. El ciclo de vida de las acciones multimedia puede ser difícil de seguir. Incluso una reproducción simple desde la solicitud de búsqueda tiene muchos pasos intermedios en los que podría ocurrir un error, como se muestra en el cronograma simplificado:
La app de prueba del controlador multimedia (MCT) te permite probar las particularidades de la reproducción de contenido multimedia en Android y verificar la implementación de tu sesión multimedia.
La app de prueba del controlador multimedia está disponible en dos versiones:
- La app cliente se implementa sobre el
MediaControllerCompat
heredado. Esto permite probar tu app de sesión multimedia compilada sobre unMediaSessionCompat
heredado o elMediaSession
de Media3 cuando una app externa accede a ella a través de unMediaControllerCompat
heredado. Busca el código fuente de la versión heredada en GitHub. - La app cliente se implementa sobre el
MediaController
Media3 más reciente. Esto permite probar tu app de sesión multimedia compilada sobre unMediaSessionCompat
heredado o elMediaSession
de Media3 cuando una app externa accede a él a través de unMediaController
de Media3. Encuentra el código fuente de la versión Media3 en GitHub.
El MCT muestra información sobre el MediaController
de tu app, como su PlaybackState
y sus metadatos, y se puede usar para probar los controles multimedia entre apps.
El MCT también incluye un framework de pruebas de verificación que te permite automatizar las pruebas de QA.
Para usar el MCT, tu app debe tener un servicio de navegador multimedia y debes permitir que el MCT se conecte a él. Para obtener más información, consulta Cómo compilar un servicio de navegador multimedia.
Cómo iniciar el MCT

Cuando inicies MCT, verás dos listas:
- Active MediaSessions: Esta lista está vacía inicialmente cuando inicias el MCT y verás el mensaje "No se encontraron apps de música ". Se requiere el permiso de objeto de escucha de notificaciones para buscar sesiones multimedia activas". Haz clic en Configuración para ir a la pantalla de permisos y habilitar el permiso para el MCT.
- Implementaciones de MediaBrowserService: En esta lista, se muestran las apps que implementaron un servicio de navegador multimedia. Si implementaste un servicio de navegador de contenido multimedia, tu app aparecerá en esta lista, pero solo podrás usar el MCT si configuraste tu app para que acepte todas las conexiones o si agregaste el MCT a la lista de entidades permitidas. Consulta Controla las conexiones de clientes con onGetRoot() para obtener más información.
Cómo probar manualmente una app para teléfonos
Si permitiste que el MCT se conecte al servicio de navegador multimedia de tu app, esta aparecerá en la lista de implementaciones de la lista de servicios de navegador multimedia. Busca la app allí y haz clic en Control para iniciarla en segundo plano.
De lo contrario, primero debes iniciar la app en segundo plano y, luego, hacer clic en Control cuando aparezca en la lista de sesiones multimedia activas.
Prueba, prepara y juega
Cuando el MCT comienza a controlar tu app, muestra los metadatos de la sesión actual de la app: el contenido multimedia seleccionado actualmente y las acciones que la sesión está preparada para controlar.

La parte superior de la página de controles de MCT contiene un menú desplegable en el que puedes seleccionar Búsqueda, URI, ID de contenido multimedia o Ninguno, junto con un campo de texto para especificar los datos de entrada asociados con la búsqueda, el URI o el ID de contenido multimedia si seleccionas una de esas opciones.
Los botones Prepare y Play que se encuentran debajo del campo de texto realizan las llamadas adecuadas (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
, onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
, onPlayFromMediaId()
) según la acción que hayas seleccionado.
Cómo probar el foco de audio
Una app de contenido multimedia que tenga un buen comportamiento debería poder controlar el foco de audio. Para probar el foco de audio, ejecuta otra app de audio junto con la tuya. La página de controles de MCT incluye un botón que solicita y libera el foco de audio.
Para probar el enfoque de audio, sigue estos pasos:
- Usa el menú desplegable Enfoque de audio para seleccionar una de las tres sugerencias de duración
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
oAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - Presiona el botón para solicitar el enfoque.
- Vuelve a presionar el botón para liberar el enfoque.
Prueba los controles de transporte

Desliza el dedo hacia la izquierda para mostrar la vista de la IU del MCT. Esta vista tiene los botones de transporte estándar del controlador de contenido multimedia y muestra la imagen y los datos del programa de la sesión. Los botones de transporte que están inhabilitados aparecen rodeados de naranja. Todas las demás están activas.
Prueba el reproductor con los botones de transporte. El estado de los botones de transporte debería cambiar como se espera. Por ejemplo, cuando presionas el botón PLAY, este debería inhabilitarse, y los botones PAUSE y STOP deberían habilitarse.
Vuelve a deslizar el dedo hacia la izquierda para ver una vista que muestra acciones opcionales. Cada acción tiene un control que muestra si está activa o no. Si está activa, puedes hacer clic en ella para realizar la acción.
Si te conectaste desde la lista de apps que tienen un servicio de navegador multimedia, puedes deslizar el dedo hacia la izquierda dos veces más para ver vistas que te permitan desplazarte hacia arriba y abajo en la jerarquía de contenido de tu app, o bien buscar en el árbol de contenido.
Cómo probar manualmente una app de video
Usa el modo de pantalla dividida para probar los controles de apps de video. Primero, abre la app de video en una ventana y, luego, abre el MCT en el modo de pantalla dividida.
Ejecuta pruebas de verificación
El framework de pruebas de verificación ofrece pruebas con un clic que puedes ejecutar para asegurarte de que tu app multimedia responda correctamente a una solicitud de reproducción.
Cómo probar una app para teléfonos

Para acceder a las pruebas de verificación, haz clic en el botón Probar junto a tu app de música.
Estado de MCT

En la siguiente vista, se muestra información detallada sobre el MediaController
del MCT, por ejemplo, el PlaybackState
, los metadatos y la cola. Hay dos botones en la parte superior derecha de la barra de herramientas. El botón de la izquierda alterna entre registros analizables y con formato. El botón de la derecha actualiza la vista para mostrar la información más reciente.
Cómo seleccionar una prueba

Si deslizas el dedo hacia la izquierda, llegarás a la vista de pruebas de verificación, en la que puedes ver una lista desplazable de las pruebas disponibles. Si una prueba usa una consulta, como la prueba de reproducción desde la búsqueda que se muestra en la Figura 7, hay un campo de texto para ingresar la cadena de consulta.
El MCT incluye pruebas para las siguientes acciones de contenido multimedia, y se agregan más pruebas al proyecto de forma continua:
- Reproducir
- Reproducir desde la Búsqueda
- ID de Play From Media
- URI de reproducción
- Pausar
- Detener
- Ir al siguiente
- Ir al anterior
- Saltar al elemento de la fila
- Saltar a
Resultados de la prueba

Inicialmente, el área de resultados en la parte inferior de la vista está vacía. Se mostrarán los resultados cuando ejecutes una prueba. Por ejemplo, para ejecutar la prueba de reproducción desde la búsqueda, ingresa una búsqueda en el campo de texto y haz clic en Run Test. En la siguiente captura de pantalla, se muestra un resultado de prueba exitoso.
Cómo probar una app para Android TV
Cuando inicias el MCT en Android TV, verás una lista de las apps multimedia instaladas. Ten en cuenta que una app solo aparecerá en esta lista si implementa un servicio de navegador de contenido multimedia.
Si seleccionas una app, se te dirigirá a la pantalla de pruebas, que muestra una lista de pruebas de verificación a la derecha.
Cuando ejecutas una prueba, el lado izquierdo de la pantalla muestra información sobre el MediaController seleccionado. Para obtener más detalles, consulta los registros de MCT en Logcat.
Las pruebas que requieren una consulta se marcan con un ícono de teclado. Si haces clic en una de estas pruebas, se abrirá un campo de entrada para la consulta. Haz clic en Intro para ejecutar la prueba.
Para facilitar la entrada de texto, también puedes usar un comando adb
:
adb shell input text your-query
Puedes usar "%s" para agregar un espacio entre palabras. Por ejemplo, el siguiente comando agrega el texto "hello world" al campo de entrada.
adb shell input text hello%sworld
Cómo compilar una prueba
Puedes enviar una solicitud de extracción con más pruebas que consideres útiles. Para obtener información sobre cómo compilar pruebas nuevas, visita la Wiki de GitHub de MCT y consulta las instrucciones de la prueba de verificación.
Revisa las instrucciones para realizar contribuciones.
Recursos adicionales
El MCT está diseñado para usarse junto con apps que implementan APIs de contenido multimedia. Consulta el Universal Android Music Player para ver un ejemplo de una app de este tipo.
Las correcciones de errores y las mejoras son siempre bienvenidas. Consulta las instrucciones de contribución.