Como rotear dispositivos

Quando os usuários conectam as televisões, os sistemas de home theater e os players de música por meio de tecnologias sem fio, eles querem poder tocar conteúdo de apps para Android nesses dispositivos maiores e mais altos. Ativar esse tipo de reprodução pode transformar seu app voltado para um usuário e um dispositivo em uma experiência compartilhada que encanta e inspira vários usuários.

As APIs de roteador de mídia do Android foram desenvolvidas para ativar a exibição e a reprodução de mídia em dispositivos receptores remotos usando uma interface de usuário comum. Os desenvolvedores de apps que implementam uma interface MediaRouter podem se conectar ao framework e abrir conteúdo para dispositivos que fazem parte do framework do roteador de mídia. Os fabricantes de dispositivos de mídia podem participar do framework publicando um MediaRouteProvider que permita que outros aplicativos se conectem e abram mídia nos dispositivos receptores. A Figura 1 ilustra como um app se conecta a um dispositivo receptor por meio do framework do roteador de mídia.

Figura 1. Visão geral de como as classes do provedor de roteamento de mídia oferecem 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 compile seu app como um remetente do Cast. Siga as orientações na documentação do Cast em vez de usar o framework do MediaRouter diretamente.

Biblioteca de suporte do MediaRouter

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

API MediaRouter
Um app de mídia usa a API MediaRouter para descobrir os 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, como o Google Cast.

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