音频应用的首选架构是客户端/服务器设计。播放器及其媒体会话在 MediaBrowserService
内实现,界面和媒体控制器与 MediaBrowser
一起位于 Android Activity 中。
MediaBrowserService
提供两个主要功能:
当您使用 MediaBrowserService
时,具有 MediaBrowser
的其他组件和应用可以发现您的服务,创建自己的媒体控制器,连接到您的媒体会话,并控制播放器。正是通过这种方式,Wear OS 和 Android Auto 应用才得以访问您的媒体应用。
此外,它还提供了一个可选的 Browsing API。 应用可以不使用此功能。通过 Browsing API,客户端可以查询服务并构建其内容层次结构的表示,这可能表示播放列表、媒体库或其他类型的集合。
注意 :与媒体会话和媒体控制器一样,媒体浏览器服务和媒体浏览器的推荐实现是 MediaBrowserServiceCompat
和 MediaBrowserCompat
类,这些类在 media-compat 支持库 中定义。它们取代了 API 21 中引入的早期版本的 MediaBrowserService
和 MediaBrowser
类。为简单起见,术语“MediaBrowserService”和“MediaBrowser”分别指代 MediaBrowserServiceCompat
和 MediaBrowserCompat
的实例。
构建媒体浏览器服务
说明了如何创建包含媒体会话的媒体浏览器服务,管理客户端连接以及在播放音频时成为前台服务。
构建媒体浏览器客户端
说明了如何创建包含界面和媒体控制器的媒体浏览器客户端 Activity,以及如何与媒体浏览器服务进行连接和通信。
媒体会话回调
说明了媒体会话回调方法如何管理媒体会话、媒体浏览器服务以及其他应用组件(如通知和广播接收器)。
android-MediaBrowserService
此 GitHub 示例展示了如何实现媒体应用,以支持在后台播放音频并提供可供其他应用使用的媒体库。