La arquitectura preferida para una app de audio es un diseño cliente-servidor. El cliente es una actividad en tu app que incluye un MediaBrowser
, un controlador multimedia y la IU. El servidor es un MediaBrowserService
que contiene el reproductor y una sesión multimedia.
Un MediaBrowserService
proporciona dos funciones principales:
- Cuando usas un
MediaBrowserService
, otros componentes y aplicaciones con unMediaBrowser
pueden descubrir tu servicio, crear su propio controlador multimedia, conectarse a tu sesión multimedia y controlar el reproductor. Así es como las aplicaciones de Wear OS y Android Auto obtienen acceso a tu aplicación de contenido multimedia. - También proporciona una API de navegación opcional. No es necesario que las aplicaciones utilicen esta función. La API de navegación permite a los clientes buscar el servicio y crear una representación de su jerarquía de contenido, que puede representar playlists, una biblioteca de contenido multimedia o algún otro tipo de colección.
- Cómo crear un servicio de exploración multimedia
- Se describe cómo crear un servicio de exploración multimedia que contenga una sesión multimedia, administrar conexiones de clientes y llevar el servicio al primer plano mientras reproduce audio.
- Cómo crear un cliente de exploración multimedia
- Se describe cómo crear una actividad del cliente de exploración multimedia que contenga una IU y un controlador multimedia, además de cómo establecer la conexión y la comunicación con un servicio de exploración multimedia.
- Devoluciones de llamada de sesiones multimedia
- Se describe cómo los métodos de devolución de llamada de las sesiones multimedia administran la sesión multimedia; el servicio de exploración multimedia; y otros componentes de las apps, como las notificaciones y los receptores de emisión.
- Ejemplo de Universal Android Music Player
- Este ejemplo de GitHub muestra cómo implementar una app de contenido multimedia que permita la reproducción de audio en segundo plano y proporciona una biblioteca multimedia que está expuesta a otras apps.