一,前期基础知识储备
如何快速开发一款音频应用?基于已有的合作应用进行开发,比如百度的车载Carlife系统对QQ音乐,喜马拉雅等的调用。 音乐应用被第三方的Android app打开,并获取其中的歌单,曲目列表,同时控制其播放。
Spotify - 一家在线音乐流服务平台,和其合作的厂商也是采用这种实现方式,官方SDK说明如下:
The Spotify SDK allows your application to interact with the Spotify app running in the background as a service. The capabilities of this API include getting metadata for the currently playing track and context, issuing basic playback commands and initiating playback of tracks.
合作方开发一个客户端应用,与作为服务端的Spotify进行交互,获取播放条目,并控制播放状态。
通俗一点,就是自己开发一个应用,作为一个进程,Spotify播放器是一个应用,作为一个进程,然后通过客户端/服务器设计,实现一个进程控制另一个进程的播放状态。
这种实现方式就是使用Android中的MediaBrowser与MediaBrowserService,Android官方文档:
MediaBrowserService 提供两个主要功能:
- 当您使用 MediaBrowserService 时,具有 MediaBrowser 的其他组件和应用可以发现您的服务,创建自己的媒体控制器,连接到您的媒体会话,并控制播放器。Wear OS 和 Android Auto 应用才得以访问您的媒体应用。
- 此外,它还提供了一个可选的 Browsing API。应用可以不使用此功能。通过 Browsing API,客户端可以查询服务并构建其内容层次结构的表示,这可能表示播放列表、媒体库或其他类型的集合。