Apps de música que interactúan por voz con el Asistente de Google en teléfonos Android vehículos, TVs y auriculares funcionan con las APIs de sesiones multimedia de Android y usan acciones multimedia. El ciclo de vida de la acción multimedia puede ser difícil de seguir. Incluso un simple juego de la Búsqueda la solicitud tiene muchos pasos intermedios en los que algo podría salir mal, como se muestra el cronograma simplificado:
La prueba del controlador multimedia (MCT) te permite probar las particularidades de la reproducción de contenido multimedia en Android y te ayuda para verificar la implementación de tu sesión multimedia.
La MCT muestra información sobre el objeto MediaController
de tu app, como su
PlaybackState
y metadatos, y se puede usar para probar los controles multimedia entre apps.
El MCT también incluye pruebas de verificación
de Terraform que
te permite automatizar las pruebas
de QA.
Para usar la MCT, tu app debe tener un servicio de navegador multimedia y hay que permitir que el MCT se conecte a él. Consulta Cómo compilar un servicio de navegador multimedia para obtener más información.
Cómo iniciar la MCT
Cuando inicies MCT, verás dos listas:
- Active MediaSessions: Esta lista estará inicialmente vacía cuando se inicie la MCT. y verás el mensaje "No se encontraron apps multimedia. Notificación Se requiere permiso de escucha para buscar sesiones multimedia activas." Haz clic en Configuración para ve a la pantalla de permisos y habilita el permiso del MCT.
- Implementaciones de MediaBrowserService: En esta lista, se muestran las aplicaciones que implementaron un servicio de navegador multimedia. Si implementaste un servicio de navegador multimedia, tu app aparecerá en esta lista. pero solo puedes usar la MCT si configuraste tu app para que acepte todas o agregar la MCT a la lista de entidades permitidas. Consulta Controla las conexiones de clientes con onGetRoot() para obtener más información.
Cómo probar una app para teléfonos de forma manual
Si permitiste que el MCT se conectara al servicio de navegador multimedia de tu app, esta aparece en la lista de implementaciones de la lista de servicios de navegador multimedia. Encuéntralo allí y haz clic en Control para iniciar la app en segundo plano.
De lo contrario, primero deberás iniciar la app en segundo plano y, luego, hacer clic Controlar cuándo aparece en la lista de sesiones multimedia activas.
Prueba la función Preparar y jugar
Cuando el MCT comience a controlar tu app, mostrará la sesión actual de esta. Metadatos: el contenido multimedia seleccionado actualmente y las acciones que abarca la sesión preparado para manejar.
En la parte superior de la página de controles de MCT, hay un menú desplegable en el que puedes seleccionar Search, URI, Media ID o None, junto con un campo de texto para especificar los datos de entrada asociados con la Búsqueda, el URI o el ID de medios si selecciona una de esas opciones.
Los botones Prepare y Play que se encuentran justo debajo del campo de texto realizan la
las llamadas apropiadas (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
,
onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
,
onPlayFromMediaId()
) según la acción que hayas seleccionado.
Prueba el foco de audio
Una app de música que se comporta correctamente debe poder admitir el contenido enfoque. Puedes probar el foco de audio ejecutar otra app de audio junto con tu app. La página de controles de MCT incluye un que solicita y libera el foco de audio.
Para probar el foco de audio, sigue estos pasos:
- Utiliza 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 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 de la MCT. Esta vista tiene los botones de transporte estándar del controlador multimedia y muestra el nombre de la sesión con la imagen y los datos del programa. Los botones de transporte que están inhabilitados aparecen con un círculo de color naranja. Todos los demás están activos.
Prueba el reproductor con los botones de transporte. El estado de los botones de transporte debería cambiar como se espera. Por ejemplo, al presionar el botón REPRODUCIR, deben inhabilitarse y habilitar los botones PAUSA y DETENER.
Vuelve a deslizar el dedo hacia la izquierda para ver las acciones opcionales. Cada acción tiene un control que muestra si está activo o no. Si está activa, puedes realizar la acción haciendo clic en ella.
Si te conectaste desde la lista de apps que tienen un servicio de navegador multimedia, puedes desliza hacia la izquierda dos veces más para ver las vistas que te permiten subir y bajar el contenido de tu app jerarquía o buscar en el árbol de contenido.
Cómo probar una app de video de forma manual
Usa el modo de pantalla dividida para probar los controladores de apps de video. Primero, abre la app de video en una ventana y, luego, abre el MCT en el modo de pantalla dividida.
Ejecutando pruebas de verificación
El framework de pruebas de verificación ofrece pruebas con un solo clic que puedes ejecutar Asegúrate de que tu app de música 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 contenido multimedia. .
Estado de MCT
En la siguiente vista, se muestra información detallada sobre el MediaController
del MCT,
Por ejemplo, PlaybackState
, los metadatos y la cola. Hay dos botones en
en la parte superior derecha de la barra de herramientas. El botón de la izquierda permite alternar entre opciones
y registros con formato. El botón de la derecha actualiza la vista para mostrar
información más actualizada.
Cómo seleccionar una prueba
Al deslizar el dedo hacia la izquierda, llegarás a la vista de pruebas de verificación, donde puedes verás una lista desplazable de las pruebas disponibles. Si una prueba usa una consulta, como la de la prueba de búsqueda que se muestra en la Figura 7, hay un campo de texto para ingresar la cadena de consulta.
La MCT incluye pruebas para las siguientes acciones multimedia y se agregan continuamente al proyecto:
- Reproducir
- Reproducir desde la Búsqueda
- Reproducir desde ID de medios
- Reproducir desde URI
- Pausar
- Detener
- Ir al siguiente
- Ir al anterior
- Saltar elemento a la fila
- Ir a
Resultados de la prueba
Inicialmente, el área de resultados en la parte inferior de la vista estará vacía. Mostrará el los resultados cuando realizas una prueba. Por ejemplo, para ejecutar la reproducción desde la prueba de búsqueda, Ingresa una búsqueda en el campo de texto y haz clic en Ejecutar prueba. Lo siguiente En la captura de pantalla, se muestra un resultado de prueba exitoso.
Cómo probar una app para Android TV
Cuando inicies MCT en Android TV, verás una lista de apps multimedia instaladas. Ten en cuenta que una app solo aparecerá en esta lista si implementa un navegador multimedia. servicio.
Si seleccionas una app, accederás a la pantalla de prueba, que muestra una lista de pruebas de verificación a la derecha.
Cuando ejecutas una prueba, a la izquierda de la pantalla se muestra información sobre la 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. Al hacer clic en uno de estas pruebas abre 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 las palabras. Por ejemplo, el siguiente agrega el texto “hello world” al campo de entrada.
adb shell input text hello%sworld
Cómo crear una prueba
Puedes enviar una solicitud de extracción con más pruebas que consideres útiles. Para obtener información sobre cómo crear pruebas nuevas, visita la Wiki de GitHub de MTC y veamos prueba de verificación instrucciones.
Revisa las instrucciones para realizar contribuciones.
Recursos adicionales
La MCT está diseñada para usarse junto con apps que implementan APIs de contenido multimedia. Consulta la Universal Android Music Player para ver un ejemplo de esta app.
Las correcciones de errores y las mejoras son siempre bienvenidas. Consulta la instrucciones de contribución.