• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 媒体子系统<a name="ZH-CN_TOPIC_0000001078026808"></a>
2
3-   [简介](#section11660541593)
4-   [目录](#section161941989596)
5-   [约束](#section119744591305)
6-   [使用说明](#section1312121216216)
7-   [安装](#section11914418405)
8-   [相关仓](#section1371113476307)
9
10## 简介<a name="section11660541593"></a>
11
12媒体子系统为开发者提供一套简单且易于理解的接口,使得开发者能够方便接入系统并使用系统的媒体资源。
13
14媒体子系统包含了音视频、相机相关媒体业务,提供以下常用功能:
15
16-   音频播放和录制。
17-   视频播放和录制。
18
19-   相机拍照和录制。
20
21## 系统架构<a name="section11660541594"></a>
22
23**图 1**  OpenHarmony媒体子系统通用架构图<a name="fig99659301300"></a>
24
25
26![](figures/zh-cn_image_0000001115819528.png)
27
28**图 2**  OpenHarmony小型媒体子系统架构图<a name="fig11400536715"></a>
29
30
31![](figures/媒体子系统架构图.png)
32
33**图 3**  OpenHarmony小型媒体子系统业务流程图<a name="fig199079467553"></a>
34
35
36![](figures/zh-cn_image_0000001111659738.png)
37
38## 目录<a name="section161941989596"></a>
39
40仓目录结构如下:
41
42```
43/foundation/multimedia                                 # 媒体子系统业务代码
44├── audio_lite                                         # 小型系统音频模块
45│   ├── figures                                        # 小型系统音频架构和流程图
46│   ├── frameworks                                     # 小型系统音频框架实现
47│   └── interfaces                                     # 小型系统音频模块接口
48├── audio_standard                                     # 标准系统音频模块
49│   ├── figures                                        # 标准系统音频架构和流程图
50│   ├── frameworks                                     # 标准系统音频框架实现
51│   ├── interfaces                                     # 标准系统音频模块接口
52│   ├── sa_profile                                     # 标准系统音频服务配置
53│   └── services                                       # 标准系统音频服务实现
54├── camera_lite                                        # 小型系统相机模块
55│   ├── figures                                        # 小型系统相机架构和流程图
56│   ├── frameworks                                     # 小型系统相机框架实现
57│   └── interfaces                                     # 小型系统相机模块接口
58├── camera_standard                                    # 标准系统相机模块
59│   ├── figures                                        # 标准系统相机架构和流程图
60│   ├── frameworks                                     # 标准系统相机框架实现
61│   └── interfaces                                     # 标准系统相机模块接口
62├── media_lite                                         # 小型系统播放录制模块
63│   ├── figures                                        # 小型系统播放录制架构和流程图
64│   ├── frameworks                                     # 小型系统播放录制框架实现
65│   ├── interfaces                                     # 小型系统播放录制模块接口
66│   └── services                                       # 小型系统播放录制模块服务
67├── media_standard                                     # 标准系统播放录制模块
68│   ├── figures                                        # 标准系统播放录制架构和流程图
69│   ├── frameworks                                     # 标准系统播放录制框架实现
70│   └── interfaces                                     # 标准系统播放录制模块接口
71└── utils                                              # 媒体公共模块
72    └── lite                                           # 小型系统媒体公共模块
73        ├── figures                                    # 小型系统媒体公共模块架构和流程图
74        ├── hals                                       # 小型系统媒体公共硬件抽象接口
75        ├── interfaces                                 # 小型系统媒体公共模块接口
76        └── src                                        # 小型系统媒体公共模块框架实现
77```
78
79## 约束<a name="section119744591305"></a>
80
81部分音视频格式的硬件编码、解码功能依赖设备的支持。
82
83## 使用说明<a name="section1312121216216"></a>
84
85如架构图示意,媒体提供了三大类功能接口,开发者可以根据使用诉求,综合使用一类或多类接口:
86
87-   应用开发者使用媒体接口实现录像、预览和播放音视频,使用可以参考[多媒体开发指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-multimedia.md)88-   当使用简单播放录制功能时,可以使用Player和Recorder快速完成播放和录制功能。
89-   提供了一组控制相机的有效接口,可以让用户方便开发使用相机。
90-   开发者先创建camerakit组件对象,注册各种事件回调,这些事件回调是用来响应多媒体模块中事件响应的,之后调用创建camera就可以创建一个操作camera资源的对象,使用这个对象可以启动预览、录像或抓拍取流,及设置取流的相关参数。
91
92## 安装<a name="section11914418405"></a>
93
94请提前加载内核及相关驱动,参考内核及驱动子系统readme。
95
96## 相关仓<a name="section1371113476307"></a>
97
98[multimedia\_camera\_lite](https://gitee.com/openharmony/multimedia_camera_lite)
99
100[multimedia\_audio\_lite](https://gitee.com/openharmony/multimedia_audio_lite)
101
102[multimedia\_media\_lite](https://gitee.com/openharmony/multimedia_media_lite)
103
104[multimedia\_utils\_lite](https://gitee.com/openharmony/multimedia_utils_lite)
105
106[multimedia\_camera\_standard](https://gitee.com/openharmony/multimedia_camera_standard)
107
108[multimedia\_audio\_standard](https://gitee.com/openharmony/multimedia_audio_standard)
109
110[multimedia\_media\_standard](https://gitee.com/openharmony/multimedia_media_standard)
111
112