Criar apps de vídeo para o Android Automotive OS

Além das diretrizes descritas em Criar apps do Android Automotive OS para carros estacionados, há alguns requisitos específicos para apps de vídeo.

Marcar como um app de vídeo

Para indicar que o app oferece suporte a vídeo, adicione um arquivo XML chamado automotive_app_desc.xml ao diretório res/xml/ no projeto. Nesse arquivo, inclua o seguinte conteúdo:

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

Em seguida, no elemento <application> do manifesto, adicione o elemento <meta-data> abaixo, que referencia o arquivo XML:

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

Oferecer suporte a áudio enquanto dirige

O áudio enquanto dirige é um recurso Beta
A publicação de apps com suporte para o recurso "Áudio ao Dirigir" está limitada aos parceiros com acesso antecipado. Enquanto esse recurso estiver na versão Beta, siga as orientações desta seção para preparar seu app para oferecer suporte.

Em geral, todos os apps de vídeo precisam pausar a reprodução quando as restrições de experiência do usuário estão ativas, conforme descrito em Atender aos requisitos de distração do motorista.

No entanto, alguns veículos podem mostrar controles de reprodução otimizados para direção enquanto as restrições de experiência do usuário estão ativas, permitindo continuar a reprodução de áudio.

Controles de reprodução otimizados para um app compatível com o recurso Áudio ao Dirigir.
Figura 1: controles de reprodução otimizados para um app compatível com áudio enquanto dirige.

Declarar que o app é compatível com o recurso Áudio ao Dirigir

Para indicar que o app é compatível com o recurso Áudio ao Dirigir, adicione o seguinte elemento <uses-feature> ao manifesto:

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

Oferecer compatibilidade com a reprodução em segundo plano

Como as atividades do app são ocultas pelas restrições de UX do sistema, ele precisa oferecer suporte à reprodução em segundo plano para continuar reproduzindo áudio enquanto o usuário dirige. Consulte Reprodução em segundo plano com uma MediaSessionService para saber como fazer isso usando a biblioteca Media3.

O app precisa postar uma notificação MediaStyle que inclua o MediaSession. Se você estiver usando MediaSessionService, isso será gerenciado por padrão.

Determinar o suporte

Para determinar se um dispositivo oferece suporte a áudio enquanto o usuário dirige, use a classe CarFeatures da biblioteca androidx.car.app:app.

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Use essas informações para modificar o comportamento do app de acordo com os recursos do dispositivo em que ele está sendo executado. Em dispositivos que não oferecem suporte ao áudio enquanto dirigem, o app ainda precisa atender à diretriz DD-2.

Testar o áudio enquanto dirige

Para testar a implementação, você pode simular a direção usando uma imagem do emulador que oferece suporte a áudio durante a direção.

Perguntas frequentes

Há suporte para o DRM da Widevine?

Sim, o Android Automotive OS oferece suporte ao Widevine DRM L3.