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 27 28**图 2** OpenHarmony小型媒体子系统架构图<a name="fig11400536715"></a> 29 30 31 32 33**图 3** OpenHarmony小型媒体子系统业务流程图<a name="fig199079467553"></a> 34 35 36 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