Android Car音乐播放器分析

                       Android Car音乐播放器分析

 

概述

    Android Car系统音乐路径是packages/apps/Car/Media,应用名称是CarMediaApp,包名是com.android.car.media。系统音乐的数据来自同目录的LocalMediaPlayer,应用名称是LocalMediaPlayer,包名是com.android.car.media.localmediaplayer。这两个应用共用了sharedUserId,这样可以互相访问数据了。注意共用sharedUserId,必需签名也要相同,否则应用无法安装。

 

 

MediaSession框架

MediaBrowser 
    媒体浏览器,用来连接MediaBrowserService订阅数据,通过它的回调接口我们可以获取和Service的连接状态以及获取在Service中异步获取的音乐库数据。媒体浏览器一般创建于客户端

MediaBrowserService 

    浏览器服务,提供onGetRoot(控制客户端媒体浏览器的连接请求,通过返回值决定是否允许该客户端连接服务)和onLoadChildren(媒体浏览器向Service发送数据订阅时调用,一般在这执行异步获取数据的操作,最后将数据发送至媒体浏览器的回调接口中)这两个抽象方法 。客户端通过MediaBrowser.subscribe()方法发起数据请求,每次subscribe都会调用到onLoadChildren。

MediaSession

    媒体会话,即受控端,通过设置MediaSessionCompat.Callback回调来接收媒体控制器MediaController发送的指令,当收到指令时会触发Callback中各个指令对应的回调方法(回调方法中会执行播放器相应的操作,如播放、暂停等)。Sess

你可能感兴趣的:(Android系统,Android,Car,Media,Session,MediaManager,MediaItem流程)