Compilación de apps de video para el SO Android Automotive

Además de los lineamientos que se describen en Cómo compilar apps para usar en el SO Android Automotive con el vehículo estacionado, hay algunos requisitos específicos de las apps de video.

Marca tu app como app de video

Para indicar que tu app para automóviles admite videos, agrega un archivo en formato XML llamado automotive_app_desc.xml al directorio res/xml/ de tu proyecto. En este archivo, incluye el siguiente contenido:

<automotiveApp>
  <uses name="video"/>
</automotiveApp>

Luego, dentro del elemento <application> de tu manifiesto, agrega el siguiente elemento <meta-data> que hace referencia al archivo en formato XML:

<meta-data
  android:name="com.android.automotive"
  android:resource="@xml/automotive_app_desc"/>

Cómo admitir audio mientras conduces

El audio mientras conduces es una función beta
La publicación de apps que admiten audio mientras se conduce se limita a los socios con acceso anticipado. Mientras esta función esté en versión beta, puedes preparar tu app para la asistencia siguiendo las instrucciones de esta sección.

En general, todas las apps de video deben pausar la reproducción cuando las restricciones de la experiencia del usuario están activas, como se describe en Asegúrate de que no haya actividades optimizadas para distracciones.

Sin embargo, algunos vehículos tienen la capacidad de mostrar controles de reproducción optimizados para la conducción mientras las restricciones de la experiencia del usuario están activas, lo que permite seguir reproduciendo audio.

Controles de reproducción optimizados para conducir en una app que admite audio mientras se conduce
Figura 1: Controles de reproducción optimizados para conducir de una app que admite audio mientras se conduce.

Declara que tu app admite audio mientras se conduce

Para indicar que tu app admite audio mientras se conduce, agrega el siguiente elemento <uses-feature> en tu manifiesto:

<application ...>
    ...
    <uses-feature android:name="com.android.car.background_audio_while_driving" android:required="false">
    ....
</application>

Cómo admitir la reproducción en segundo plano

Debido a que las restricciones de la UX del sistema ocultan las actividades de tu app, esta debe admitir la reproducción en segundo plano para seguir reproduciendo audio mientras conduces. Consulta Cómo reproducir contenido en segundo plano con un MediaSessionService para obtener detalles sobre cómo hacerlo con la biblioteca Media3.

Tu app debe publicar una notificación MediaStyle que incluya el MediaSession de tu app. Si usas MediaSessionService, esto se controla por ti de forma predeterminada.

Determina la asistencia

Para determinar si un dispositivo admite audio mientras se conduce, puedes usar la clase CarFeatures de la biblioteca androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Usa esta información para modificar el comportamiento de tu app según las capacidades del dispositivo en el que se ejecuta. En los dispositivos que no admiten audio mientras se conduce, tu app aún debe cumplir con el lineamiento DD-2.

Cómo probar el audio mientras conduces

Para probar tu implementación, puedes simular la conducción con una imagen del emulador que admita audio mientras se conduce.

Preguntas frecuentes

¿Widevine DRM es compatible?

Sí, Widevine DRM L3 es compatible con el SO Android Automotive.