Mediarouter

Ativa a exibição e a reprodução de mídia em dispositivos receptores remotos usando uma interface de usuário comum.
Atualização mais recente Versão estável Candidata a lançamento Versão Beta Versão Alfa
10 de fevereiro de 2023 1.3.1 - 1.4.0-beta01 1.6.0-alpha01

Declarar dependências

Para adicionar uma dependência ao MediaRouter, é preciso adicionar o repositório Maven do Google ao seu projeto. Confira mais informações no repositório Maven do Google.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.mediarouter:mediarouter:1.3.1"
}

Kotlin

dependencies {
    implementation("androidx.mediarouter:mediarouter:1.3.1")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.6

Versão 1.6.0-alpha01

10 de fevereiro de 2023

Lançamento de androidx.mediarouter:mediarouter:1.6.0-alpha01. A versão 1.6.0-alpha01 contém estas confirmações.

Novos recursos

  • Preferências da lista de rotas para o seletor de saída.

Mudanças na API

  • Mecanismo para o app configurar o seletor de saída.

Versão 1.4

Versão 1.4.0-beta01

25 de janeiro de 2023

Lançamento de androidx.mediarouter:mediarouter:1.4.0-beta01. A versão 1.4.0-beta01 contém estas confirmações.

Mudanças na API

DynamicGroupRouteController.notifyDynamicRoutesChanged() agora gera IllegalArgumentException quando nenhuma rota transmitida está como SELECTED ou SELECTING (8f6b3e).

Correções de bugs

  • Correção da falha causada por uma implementação de serviço do provedor compatível com a API que retornava um provedor de rota nulo (63f16d).
  • Quando marcados como não exportados, os receptores de transmissão protegidos funcionam em apps direcionados à API 33 ou mais recente (784f8b).
  • Correção de algumas anotações de nulidade falsas em OverlayListView (472e3f).
  • Correção do bug em que o EXTRA_CLOSE_ON_CONNECT em SystemOutputSwitcherDialogController.showDialog forçava o fechamento repentino do fragmento de configurações do Bluetooth em dispositivos Wear (28c9d8).
  • Os métodos públicos do switch de saída foram mudados para Javadoc (f0ae94, 44d2c9).

Versão 1.4.0-alpha01

9 de novembro de 2022

Lançamento de androidx.mediarouter:mediarouter:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Novos recursos

  • SystemOutputSwitcherDialogController#showDialog foi adicionado para mostrar a caixa de diálogo do seletor de saída do sistema ou o fragmento de configurações do Bluetooth em dispositivos Wear em que o seletor não está disponível (Ic3d78).

Mudanças na API

  • MediaRouteDescriptor.Builder.clearControlFilters foi adicionado (I3a4e1).
  • As anotações MainThread ausentes em MediaRouter foram adicionadas (I3ef6e).

Correções de bugs

  • Foi corrigida uma falha específica do dispositivo causada ao chamar MediaRouter.removeUserRoute (b/202931542).
  • Foram corrigidos descritores de grupo que não recebem atualizações de processamento de volume de forma consistente (461303).
  • Foram adicionadas flags de exportação do broadcast receiver na API 33 e mais recentes (b2a663).
  • Foi corrigida uma falha causada pelo recebimento de descritores de trajeto inválidos da plataforma (dd5c09).

Versão 1.3

Versão 1.3.1

27 de julho de 2022

Lançamento de androidx.mediarouter:mediarouter:1.3.1. A versão 1.3.1 contém estas confirmações.

Correções de bugs

  • Resolução de um problema específico do dispositivo em que MediaRouter.removeUserRoute() gerava uma IllegalArgumentException inesperada (b/202931542).

Versão 1.3.0

20 de abril de 2022

Lançamento de androidx.mediarouter:mediarouter:1.3.0. A versão 1.3.0 contém estas confirmações.

Mudanças importantes desde a versão 1.2.0

  • Uma flag, que pode ser usada para desativar a transferência integrada durante a execução, foi adicionada a MediaRouterParams.
  • Foi adicionado um artefato de teste que pode redefinir o MediaRouter.
  • Um parâmetro de roteador foi adicionado para ajuste da UX em MediaRouterControllerDialog.
  • Nulidade anotada para métodos públicos.
  • A verificação de lint da API para MissingGetterMatchingBuilder foi ativada para o androidx.
  • A dependência da biblioteca core na mediarouter versão 1.6.0 foi atualizada.

Versão 1.3.0-rc01

23 de março de 2022

Lançamento de androidx.mediarouter:mediarouter:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

  • Nenhuma mudança desde a última versão Beta.

Versão 1.3.0-beta01

9 de março de 2022

Lançamento de androidx.mediarouter:mediarouter:1.3.0-beta01. A versão 1.3.0-beta01 contém estas confirmações.

  • Nenhuma mudança desde a última versão Alfa.

Versão 1.3.0-alpha01

15 de dezembro de 2021

Lançamento de androidx.mediarouter:mediarouter:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estas confirmações.

Mudanças na API

  • Uma flag, que pode ser usada para desativar a transferência integrada durante a execução, foi adicionada a MediaRouterParams (I53d68).
  • Foi adicionado um artefato de teste que pode redefinir o MediaRouter (Id167c).
  • Um parâmetro de roteador foi adicionado para ajuste da UX em MediaRouterControllerDialog (I7e574).
  • Anotações de nulidade para métodos públicos (Ifc901)

Correções de bugs

  • A verificação de lint da API para MissingGetterMatchingBuilder está ativada para o androidx (I4bbea, b/138602561).

Versão 1.2

Versão 1.2.6

26 de janeiro de 2022

Lançamento de androidx.mediarouter:mediarouter:1.2.6. A versão 1.2.6 contém estas confirmações.

Correções de bugs

  • Correção da falha do construtor RemotePlaybackClient no Android 12 (b/210684559)

Versão 1.2.5

1º de setembro de 2021

Lançamento de androidx.mediarouter:mediarouter:1.2.5. A versão 1.2.5 contém estas confirmações.

Correções de bugs

  • O botão de roteamento de mídia é ocultado no seletor de saída quando não há rotas para transferir.
  • Foram corrigidos problemas no controle do volume de rotas dos membros do grupo.

Versão 1.2.4

16 de junho de 2021

Lançamento de androidx.mediarouter:mediarouter:1.2.4. A versão 1.2.4 contém estas confirmações.

Correções de bugs

  • Foi corrigido um problema em que o MediaRouteButton reproduzia novamente a animação de conexão.
  • Correção do alinhamento vertical das rotas em MediaRouteChooserDialog.

Versão 1.2.3

5 de maio de 2021

Lançamento de androidx.mediarouter:mediarouter:1.2.3. A versão 1.2.3 contém estas confirmações.

Correções de bugs

  • A NullPointerException foi corrigida na caixa de diálogo de seletor personalizada.
  • Foi corrigido um problema em que a classe MediaRouteButton mostrava o estado desconectado, mesmo quando conectado, caso fosse desativada temporariamente.

Versão 1.2.2

10 de fevereiro de 2021

Lançamento de androidx.mediarouter:mediarouter:1.2.2. A versão 1.2.2 contém estas confirmações.

Correções de bugs

  • A biblioteca não tenta mais selecionar novamente a rota já selecionada quando OnDynamicRouteChangedListener.onRouteChanged for chamado.

Versão 1.2.1

13 de janeiro de 2021

Lançamento do androidx.mediarouter:mediarouter:1.2.1. A versão 1.2.1 contém estas confirmações.

Correções de bugs

  • Correção da seleção de alto-falante do smartphone quando unselect() é chamado enquanto o BT está disponível.
  • Correção do tempo de MediaRouter.Callback. Callback#onRouteSelected e Callback#onRouteUnselected serão chamados depois que a operação OnPrepareTransferListener#onPrepareTransfer for concluída.

Versão 1.2.0

14 de outubro de 2020

Lançamento do androidx.mediarouter:mediarouter:1.2.0. A versão 1.2.0 contém estas confirmações.

Principais recursos desde a versão 1.1.0

  • Suporte à transferência de mídia integrada, que permite a transferência pela IU do sistema. Assista ao vídeo Novidades relacionadas à mídia para saber mais.
  • Mudanças na orientação sobre o registro de callback. Confira o código de exemplo no Javadoc de MediaRouter.addCallback().
  • Adição de um novo listener MediaRouter#OnPrepareTransferListener para receber eventos quando a rota selecionada estiver prestes a ser mudada.
  • MediaRouterParams foram adicionados para denotar a funcionalidade de roteamento e os tipos de IU.
  • Impedimento de usos alternativos de métodos exclusivamente internos com @RestrictTo(LIBRARY).

Versão 1.2.0-rc02

1º de outubro de 2020

Lançamento do androidx.mediarouter:mediarouter:1.2.0-rc02. A versão 1.2.0-rc02 contém estas confirmações.

Correções de bugs

  • Foi corrigido um problema em que RouteController#onUnselect podia não ser chamado quando o usuário interrompia a transmissão pela IU do sistema.

Versão 1.2.0-rc01

16 de setembro de 2020

Lançamento do androidx.mediarouter:mediarouter:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Correções de bugs

  • Foi corrigida a desconexão da transmissão atual quando o dispositivo de áudio Bluetooth está conectado.
  • Foi corrigida a geração de IllegalArgumentException em MediaRouteProvider#notifyDynamicRoutesChanged().
  • Agora é possível parar a transmissão no seletor de saída.

Versão 1.2.0-beta01

2 de setembro de 2020

Lançamento do androidx.mediarouter:mediarouter:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

Novos recursos

  • Suporte à transferência de mídia integrada, que permite a transferência pela IU do sistema. Assista ao vídeo Novidades relacionadas à mídia para saber mais.

Mudanças na API

  • MediaRouter.OnPrepareTransferListener agora usa ListenableFuture.

Correções de bugs

  • Correção dos controles de volume das rotas de grupo.
  • Quando uma rota em grupo é criada, primeiro é feita a criação da rota de grupo e depois das de membro.
  • Agora "Parar" funciona no seletor de saída
  • Correção dos callbacks que não são chamados
    • RouteController#onSelect quando uma sessão de roteamento é criada.
    • MediaRouter.Callback#onRouteSelected ao transferir do Chromecast para o smartphone.
    • MediaRouter.Callback#onRouteSelected com as informações de rota do grupo corretas.
  • Agora os callbacks são removidos.

Versão 1.2.0-alpha02

22 de julho de 2020

Lançamento do androidx.mediarouter:mediarouter:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Mudanças na API

  • Um novo MediaRouter.Callback#onRouteSelected foi adicionado para receber uma notificação quando a rota selecionada é diferente da solicitada (Ieee16).
  • Um novo listener MediaRouter#OnPrepareTransferListener foi adicionado para receber eventos quando a rota selecionada está prestes a mudar (I6ace1).
  • MediaRouterParam foi adicionado (I33150).
  • Mudanças na orientação sobre o registro de callback. Confira o código de exemplo no Javadoc de MediaRouter.addCallback() (I58112).

Versão 1.2.0-alpha01

15 de abril de 2020

androidx.mediarouter:mediarouter:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém estas confirmações.

Mudanças na API

  • Impedimento de usos alternativos de métodos exclusivamente internos com @RestrictTo(LIBRARY).

Correções de bugs

  • Resolução de problema de talkback na caixa de diálogo de transmissão
  • O listener de DynamicGroupRouterController foi protegido com um bloqueio.

Versão 1.1

Versão 1.1.0

5 de setembro de 2019

Lançamento de androidx.mediarouter:mediarouter:1.1.0. As confirmações incluídas nessa versão podem ser encontradas neste link (em inglês).

Importar mudanças desde a versão 1.0.0

  • Suporte a grupos dinâmicos.
    • Permite que os usuários adicionem ou removam dispositivos de rota dinamicamente.
    • Para ativar um grupo dinâmico, chame MediaRouteButton.enableDynamicGroup(). O app mostra uma nova caixa de diálogo para o grupo dinâmico.
    • O arquivo MediaRouteProvider instalado também precisa oferecer suporte ao grupo dinâmico para ativar a funcionalidade.

Versão 1.1.0-rc01

13 de junho de 2019

Lançamento do androidx.mediarouter:mediarouter:1.1.0-rc01 sem mudanças desde o 1.1.0-beta02. As confirmações incluídas nessa versão podem ser encontradas neste link (em inglês).

Versão 1.1.0-beta02

5 de junho de 2019

androidx.mediarouter:mediarouter:1.1.0-beta02 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Suporte a idiomas que usam escrita da direita para a esquerda (RTL, na sigla em inglês) nas caixas de diálogo do MediaRouter.

Correções de bugs

  • O preenchimento inferior das caixas de diálogo do MediaRouter foi corrigido.

Versão 1.1.0-beta01

7 de maio de 2019

Lançamento de androidx.mediarouter:mediarouter:1.1.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Mudança de IllegalPointerException para NullPointerException nos argumentos nulos marcados como @NonNull.

Mudanças na API

  • A lógica de callback para DynamicRouteDescriptor mudou. Agora, MediaRouteProvider chamará MediaRouterProvider.DynamicGroupController.notifyDynamicRoutesChanged em vez de chamar diretamente o método de callback.

Versão 1.1.0-alpha03

3 de abril de 2019

Lançamento de androidx.mediarouter:mediarouter:1.1.0-alpha03. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Correções de bugs

  • Correção de falhas no MediaRouteVolumeSlider e RegisteredMediaRouteProvider.

Versão 1.1.0-alpha02

13 de março de 2019

Lançamento de androidx.mediarouter:mediarouter:1.1.0-alpha02. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link.

Novos recursos

  • Suporte a MediaRouteButton na visualização de layout do Android Studio.

Mudanças na API

  • O método enableDynamicGroup() foi adicionado em MediaRouteActionProvider e MediaRouteButton para ativar o recurso de grupo dinâmico.
  • O método setAlwaysVisible(boolean) foi adicionado em MediaRouteActionProvider e MediaRouteButton para permitir que MediaRouteButton fique sempre visível.

Correções de bugs

  • As linhas de MediaRouteCastDialog ficaram fáceis de clicar.
  • Chamadas desnecessárias removidas do callback de onRouteChanged.

Versão 1.1.0-alpha01

3 de dezembro de 2018

Novos recursos

  • Adição de compatibilidade com rotas de grupo dinâmico
    • Foram adicionadas APIs que oferecem suporte a rotas de grupos dinâmicos por MediaRouteProviders.
    • Foi adicionada uma nova UX para caixas de diálogo de seletor e controlador de rotas de grupo dinâmico.