Controles de mídia na interface do sistema

No Android 13 e versões mais recentes, os controles de mídia na interface do sistema contêm atualizações nos botões de ação e na reprodução remota. Essas mudanças oferecem uma experiência de controle de mídia mais sofisticada em smartphones e tablets, além de transferências de mídia perfeitas em vários dispositivos.

Atualizações nos controles de mídia

Esta seção descreve as atualizações feitas nos controles de mídia no Android 13 para botões de ação e reprodução remota.

Mudanças no botão de ação

Para garantir que os usuários possam acessar um conjunto avançado de controles de mídia para apps que estão reproduzindo mídia, os botões de ação nos controles de mídia do Android 13 são derivados dos estados de ação PlaybackState. Com essa mudança, a função MediaDataManager#createActionsFromState gera informações do botão de ação com base no estado da ação PlaybackState. Isso se alinha à forma como os controles de mídia são renderizados em outras plataformas Android, como o Auto, o Google Assistente e o Wear.

Já no Android 12, os botões de ação nos controles de mídia eram determinados pelas ações de notificação adicionadas a uma notificação MediaStyle.

Para um resumo das mudanças compatíveis com apps nas atualizações do botão de ação, consulte StatusBarManager.

API de reprodução remota

Para oferecer uma experiência de mídia coesa em várias plataformas, a partir do Android 13, uma nova API do sistema Notification#setRemotePlaybackInfo foi adicionada para marcar notificações de mídia na interface do sistema de controle de mídia para reprodução remota. Essa API permite que apps do sistema que postam notificações façam o seguinte:

  • Fornece informações e funcionalidades para mídia originada em um dispositivo remoto para o switcher de saída padrão no controle de mídia.
  • Substitua a affordance do seletor de saída, se necessário.

Os apps do sistema que usam essa notificação precisam ter a permissão MEDIA_CONTENT_CONTROL.

A API Notification#setRemotePlaybackInfo também adiciona o seguinte extras para determinar o nome, o ícone e a intent do dispositivo de reprodução remota:

  • Notification#EXTRA_MEDIA_REMOTE_DEVICE
  • Notification#EXTRA_MEDIA_REMOTE_ICON
  • Notification#EXTRA_MEDIA_REMOTE_INTENT

Com essas informações, a interface do sistema pode substituir o chip padrão do seletor de saída informações do dispositivo e adicionar o controle de mídia para reprodução remota ao final da lista de controles de mídia local.

Implementação do controle de mídia

Os OEMs precisam estar cientes dessa mudança no comportamento padrão, porque ela afeta a forma como os controles de mídia para apps são gerados. Os OEMs também precisam garantir que a nova API do sistema funcione conforme aplicável na opção de troca de saída.

Os OEMs não precisam fazer mudanças e podem usar a implementação padrão no AOSP.

Personalização da reprodução remota

Nos casos em que o OEM tem um app do sistema que envia notificações remotas de reprodução de mídia, o app pode chamar setRemotePlaybackInfo para notificação, desde que tenha recebido a permissão MEDIA_CONTENT_CONTROL. No entanto, isso não é obrigatório, e o parceiro pode optar por não personalizar.

Validação do controle de mídia

Para testar o controle de mídia na interface do sistema, faça um teste manual para validar o seguinte:

  • Os botões funcionam como esperado ao reproduzir mídia de um app.
  • O seletor de saída mostra as informações corretas do dispositivo.

Use os testes a seguir para validar a API de reprodução remota:

Consulte o novo requisito de CDD [3.8.3.1/H-1-SR] para recomendações.