Como fazer o roteamento entre 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 de mídia e a reprodução em dispositivos receptores remotos por meio de uma interface de usuário comum. Os desenvolvedores de apps que implementam uma interface MediaRouter podem se conectar ao framework e reproduzir conteúdo nos dispositivos que participam do framework do roteador. Fabricantes de dispositivos de reprodução de mídia podem participar do framework publicando um MediaRouteProvider que permita que outros aplicativos se conectem e toquem 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 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 com o Google Cast, use o Cast SDK (links em inglês) e crie seu app como um remetente do Cast. Siga as instruções na documentação do Google Cast (link em inglês) em vez de usar o framework do MediaRouter diretamente.

Biblioteca de Suporte do MediaRouter

As APIs MediaRouter são definidas na Biblioteca de Suporte v7-mediarouter. Essa biblioteca é compatível com dispositivos com o Android 2.3 (API de nível 9) e versões posteriores e garante uma experiência consistente em todos eles. Para ver informações detalhadas sobre as APIs MediaRouter, consulte o pacote android.support.v7.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.