A arquitetura preferida para um app de áudio é um design cliente/servidor. O cliente é uma atividade no app que inclui um MediaBrowser
, um controlador de mídia e a IU. O servidor é um MediaBrowserService
que contém o player e uma sessão de mídia.
Um MediaBrowserService
fornece dois recursos principais:
- Quando você usa um
MediaBrowserService
, outros componentes e apps com umMediaBrowser
podem descobrir seu serviço, criar o próprio controlador de mídia, conectar a sessão de mídia e controlar o player. É assim que o Wear OS e os apps do Android Auto têm acesso ao seu app de mídia. - Ele também fornece uma API de navegação opcional. Os apps não precisam usar esse recurso. A API de navegação permite que os clientes consultem o serviço e criem uma representação da hierarquia de conteúdo, que pode representar listas de reprodução, uma biblioteca de mídia ou algum outro tipo de coleção.
- Como criar um serviço de navegador de mídia
- Como criar um serviço de navegador de mídia que contenha uma sessão de mídia, gerencie conexões de clientes e torne-se um serviço em primeiro plano durante a reprodução de áudio.
- Como criar um cliente de navegador de mídia
- Como criar uma atividade de cliente de navegador de mídia que contenha uma IU e um controlador de mídia e se conecte e se comunique com um serviço de navegador de mídia.
- Callbacks de sessão de mídia
- Descreve como os métodos de callback de sessão de mídia gerenciam a sessão de mídia, o serviços de navegador de mídia e outros componentes do app, como notificações e broadcast receivers.
- Exemplo do Universal Android Music Player (link em inglês)
- Este exemplo do GitHub mostra como implementar um app de mídia que permite a reprodução em segundo plano do áudio e fornece uma biblioteca de mídia que é exposta a outros apps.