Visão geral de um aplicativo de áudio

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.

Audio activity and BrowserService

Um MediaBrowserService fornece dois recursos principais:

  • Quando você usa um MediaBrowserService, outros componentes e apps com um MediaBrowser 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.