Como rotear dispositivos

À medida que os usuários conectam televisões, sistemas de home theater e players de música com tecnologias sem fio, eles querem poder reproduzir conteúdo de apps Android nesses dispositivos maiores e mais potentes. Ativar esse tipo de reprodução pode transformar seu app de um dispositivo e um usuário em uma experiência compartilhada que encanta e inspira várias pessoas.

As APIs do roteador de mídia do Android foram projetadas para permitir a exibição e a reprodução de mídia em dispositivos receptores remotos usando uma interface do usuário comum. Os desenvolvedores de apps que implementam uma interface MediaRouter podem se conectar ao framework e reproduzir conteúdo em dispositivos que participam do framework do roteador de mídia. Os fabricantes de dispositivos de reprodução de mídia podem participar do framework publicando um MediaRouteProvider que permite que outros aplicativos se conectem e reproduzam mídia nos dispositivos receptores. A Figura 1 ilustra como um app se conecta a um dispositivo receptor pelo framework do roteador de mídia.

Figura 1. Visão geral de como as classes de provedor de rota de mídia fornecem comunicação de um app de mídia para um dispositivo receptor.

Observação:se você quiser que seu app seja compatível com dispositivos Google Cast, use o SDK do Cast e crie o app como um remetente do Cast. Siga as instruções na documentação do Cast em vez de usar o framework MediaRouter diretamente.

Biblioteca de suporte do MediaRouter

As APIs do mediarouter são definidas na biblioteca MediaRouter do AndroidX. Essa biblioteca é compatível com dispositivos que executam o Android 2.3 (nível 9 da API) e versões mais recentes, garantindo uma experiência consistente em todos eles. Para informações detalhadas sobre as APIs do MediaRouter, consulte o pacote androidx.mediarouter.media na referência da API.

API MediaRouter
Um app de música usa a API MediaRouter para descobrir dispositivos de reprodução remota disponíveis e rotear áudio e vídeo para eles.
API MediaRouteProvider
A API MediaRouteProvider define os recursos de um dispositivo de reprodução remota e os torna visíveis para apps que usam um MediaRouter para procurar caminhos de mídia alternativos.

O seletor de saída

A partir do Android 11, as opções de roteamento do app também aparecem no player de mídia do sistema. Isso ajuda a dar ao usuário uma jornada perfeita ao alternar entre os dispositivos enquanto eles mudam os contextos de visualização e reprodução, como assistir vídeos na cozinha ou em um smartphone ou ouvir áudio em casa ou no carro.

Pressionar o botão de seleção de rota em uma notificação de mídia exibe o seletor de saída com estas opções por padrão:

  • O alto-falante no dispositivo atual
  • Todos os dispositivos de áudio Bluetooth conectados

Os apps também podem oferecer mais opções dependendo dos recursos deles, como o Cast.

Os apps podem usar a API MediaRouter para personalizar as opções de trajeto. É possível excluir dispositivos incompatíveis (como filtrar o Chromecast somente de áudio se você estiver assistindo a uma smart TV da Netflix) ou incluir outros dispositivos especiais que o app reconhece.