今天说的这个主题与媒体播放有关,尤其是音乐播放,说到音乐播放大家应该都用过音乐App。
通常一个音乐App的实现主要涉及如下几点:
- 从服务器获取音乐数据
- 播放音乐时播放器的各种播放状态以及不同状态下的UI展示
- 播放过程中通过UI界面控制播放器的各种状态
- UI控制如何与播放服务进行关联并进行状态同步
- 如何保证后台播放过程中播放服务不被杀死
对于上面的这几点,其实Android
已经为我们提供了一套完整的解决方案,它已经很好的将这些操作进行了封装,我们只需要关注数据的获取和歌曲的播放即可。Android
提供的这套API在support-v4
中提供了兼容版本,因此在使用的过程中最好使用该版本以兼容低版本系统。
关键类主要有如下几个:
MediaBrowserServiceCompat
媒体浏览器服务MediaBrowserCompat
媒体浏览器MediaControllerCompat
媒体控制器MediaSessionCompat
媒体会话
我们一个个来说。