栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 框架实现分析 - 媒体路由

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 框架实现分析 - 媒体路由

Java层 media/media

        类说明:

类名

说明

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

core/app

        类说明:

类名

说明

MediaRouteActionProvider

MediaRouteSelector

MediaRouteButton

Presentation

 lib/media

        类说明:

类名

说明

RemoteDisplay

RemoteDisplayProvider

services/media_router

        源代码位于: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

 细节
  1. MediaRouter.UserRouteInfo.setPlaybackStream()
    1. RemoteControlClient.setPlaybackInformation()
      1. sendAudioServiceNewPlaybackInfo_syncCacheLock()
        1. IAudioService.setPlaybackInfoForRcc()
  1. RemoteControlClient.mIRCC.informationRequestForDisplay()【IRemoteControlClient接口】
    1. RemoteControlClient.mEventHandler.sendMessage()【消息】
      1. RemoteControlClient.sendPlaybackState_syncCacheLock()
        1. IRemoteControlDisplay.setPlaybackState()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/356597.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号