类说明:
| 类名 | 说明 |
| IMediaRouterClient | 媒体路由服务的客户端接口 |
| IMediaRouterService | 媒体路由服务接口 |
| IRemoteControlClient | |
| IRemoteControlDisplay | |
| IRemoteDisplayCallback | |
| IRemoteDisplayProvider | |
| IRemoteVolumeObserver |
类说明:
| 类名 | 说明 |
| MediaRouter | |
| MediaRouter.Static | |
| MediaRouter.Client | 继承实现IMediaRouterClient,通知MediaRouter路由服务状态变化 |
| MediaRouter. RouteCategory | 媒体路由分类,用户可以创建 |
| MediaRouter. RouteInfo | 来源,类型: mDefaultAudioVideo,mSystemCategory MediaRouterService,mSystemCategory WifiDisplay,mSystemCategory AudioRoutesInfo,mSystemCategory |
| MediaRouter. UserRouteInfo | 用户创建的媒体路由,继承RouteInfo 包含一个RemoteControlClient |
| MediaRouter. RouteGroup | 媒体路由分组,包含多个媒体路由,继承RouteInfo SystemCategory不支持分组,用户可以创建分组路由 |
| MediaRouter. VolumeCallbackInfo | |
| MediaRouterClientState | 包含多个RouteInfo,一个全局选择路由ID |
| MediaRouterClientState.RouteInfo | 描述媒体路由信息 |
| RemoteControlClient | 管理多个IRemoteControlDisplay |
| RemoteControlClient. DisplayInfoForClient | |
| RemoteControlClient.EventHandler | |
| RemoteController | |
| RemoteDisplay | |
| RemoteDisplayState |
类说明:
| 类名 | 说明 |
| MediaRouteActionProvider | |
| MediaRouteSelector | |
| MediaRouteButton | |
| Presentation |
类说明:
| 类名 | 说明 |
| RemoteDisplay | |
| RemoteDisplayProvider |
源代码位于:frameworks/base/services/java/com/android/server/media。
类说明:
| 类名 | 说明 |
| MediaRouterService | |
| RemoteDisplayProviderProxy | 管理与RemoteDisplayProvider服务的连接,实现ServiceConnection |
| RemoteDisplayProviderProxy.Connection | 封装IRemoteDisplayProvider |
| RemoteDisplayProviderWatcher | 监听应用增删事件,搜索响应RemoteDisplayProvider的服务,创建RemoteDisplayProviderProxy,并回调外部持有者 |
| MediaRouterService. ClientRecord | 代表与MediaRouterService的一个客户会话,属于某个 |
| MediaRouterService. UserRecord | 代表用户,包含多个ClientRecord,一个UserHandler |
| MediaRouterService. UserHandler | 代表用户监听、管理多个RemoteDisplayProvider,包含一个RemoteDisplayProviderWatcher |
| MediaRouterService. ProviderRecord | 代表RemoteDisplayProvider,包含多个RouteRecord |
| MediaRouterService. RouteRecord | 代表一个路由,与一个RemoteDisplayInfo对应,转换为MediaRouterClientState.RouteInfo |
- MediaRouter.UserRouteInfo.setPlaybackStream()
- RemoteControlClient.setPlaybackInformation()
- sendAudioServiceNewPlaybackInfo_syncCacheLock()
- IAudioService.setPlaybackInfoForRcc()
- sendAudioServiceNewPlaybackInfo_syncCacheLock()
- RemoteControlClient.setPlaybackInformation()
- RemoteControlClient.mIRCC.informationRequestForDisplay()【IRemoteControlClient接口】
- RemoteControlClient.mEventHandler.sendMessage()【消息】
- RemoteControlClient.sendPlaybackState_syncCacheLock()
- IRemoteControlDisplay.setPlaybackState()
- RemoteControlClient.sendPlaybackState_syncCacheLock()
- RemoteControlClient.mEventHandler.sendMessage()【消息】



