1、简介
媒体组件为开发者提供一套简单易于理解的接口,能够使得开发者方便接入系统并使用系统的媒体资源。媒体组件包含了音视频、媒体存储等相关媒体业务,提供以下常用功能:
- 音频播放和录制。
- 视频播放和录制。
2、媒体组件架构图如图1所示:
图1 媒体组件架构图
3、媒体组件代码仓结构
/foundation/multimedia/player_framework # 媒体组件业务代码
├── interfaces # 外部接口层
│ ├── kits # 应用接口
│ └── innerkits # 系统内部件接口
├── frameworks # 部件无独立进程的实现
│ ├── js # js napi实现
│ ├── native # native c++实现
├── services # 服务C/S实现
│ ├── include # 服务对外头文件
│ ├── services # 服务框架
│ │ ├── player # 播放C/S框架
│ │ ├── recorder # 录制C/S框架
│ │ ├── avcodec # 编解码C/S框架
│ │ ├── avcodeclist # 编解码器能力查询C/S框架
│ │ ├── avmetadatahelper # 元信息缩略图C/S框架
│ │ ├── media_data_source # datasource C/S框架
│ │ ├── sa_media # 媒体主进程 C/S框架
│ │ ├── factory # 引擎工厂
│ │ ├── engine_intf # 引擎API
│ ├── engine # 引擎实现
│ │ ├── gstreamer # gstreamer引擎
│ │ │ ├── player # 播放引擎
│ │ │ ├── recorder # 录制引擎
│ │ │ ├── avcodec # 编解码引擎
│ │ │ ├── avcodeclist # 编解码器能力查询
│ │ │ ├── avmetadatahelper # 元信息缩略图引擎
│ │ │ ├── plugins # 引擎自研插件
│ │ │ ├── common # 引擎通用资源
│ │ │ ├── factory # 引擎工厂实现
│ │ │ ├── loader # 引擎资源加载
│ ├── utils # 子系统基础资源
├── test # 测试代码
├── BUILD.gn # 编译入口
└── bundle.json # 部件描述文件