# AVRecorderRecordFormattedAudio(CPP) **Repository Path**: Ryan-Xu/avrecorder-record-formatted-audio-cpp ## Basic Information - **Project Name**: AVRecorderRecordFormattedAudio(CPP) - **Description**: 该示例展示了使用AVRecorder录制格式化音频(C++) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-13 - **Last Updated**: 2026-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于AVRecorder录制音频(C++) ## 项目简介 本示例基于AVRecorder(C++)实现了音频文件录制。AVRecorder集成了音频采集、音频编码、音视频封装功能,开发者可以基于本示例实现音频文件录制,适用于实现简单音频录制并直接得到本地媒体文件的场景。 ## 效果预览 | 首页 | 录制页 | |-----------------------------------------------------------|------------------------------------------------------------| | | | ## 使用说明 1. 打开应用,点击录制按钮进行音频录制。 2. 完成录制后返回,点击音频进行播放。 ## 工程目录 ``` ├──entry/src/main/cpp // Native层 │ ├──capbilities // 接口能力实现 │ │ ├──AVRecorder.cpp // 音频录制实现 │ │ └──AVRecorder.h // 音频录制实现 │ ├──types // Native层暴露上来的接口 │ │ └──libentry // 录制模块暴露给UI层的接口 │ ├──CMakeLists.txt // 编译入口 │ └──napi_init.cpp // Native侧入口 ├──ets // UI层 │ ├──common // 公共模块 │ │ ├──Constants.ets // 参数常量 │ │ └──RecordFileInfo.ets // 录制文件实体 │ ├──components │ │ └──RecordDialog.ets // 录制弹窗页面 │ ├──controller // 控制模块 │ │ └──AvPlayerController.ets // AVplayer播放类 │ ├──entryability // 应用入口函数 │ │ └──EntryAbility.ets │ ├──entrybackupability │ │ └──EntryBackupAbility.ets │ ├──pages │ │ └──Index.ets // 首页 │ └──utils // 组件模块 │ ├──BackgroundTaskUtil.ets // 后台任务工具类 │ ├──Logger.ets // 日志工具类 │ ├──PermissionUtil.ets // 权限工具类 │ └──StringUtil.ets // 字符串工具类 ├──resources // 静态资源文件 └──module.json5 // 模块配置信息 ``` ## 具体实现 1. 在进入录制页面时,在Native侧创建AVRecorder对象。 2. 配置AVRecorder,包括音频配置和回调函数。 3. 开启AVRecorder,启动音频录制。 4. 点击完成录制后,结束录制。 ## 相关权限 1. 允许应用使用麦克风:ohos.permission.MICROPHONE。 2. 允许应用申请特殊类型长时任务:ohos.permission.KEEP_BACKGROUND_RUNNING。 ## 约束与限制 1. 本示例仅支持标准系统上运行,支持设备:华为手机。 2. HarmonyOS系统:HarmonyOS 6.0.0 Release及以上。 3. DevEco Studio版本:DevEco Studio 6.0.2 Release及以上。 4. HarmonyOS SDK版本:HarmonyOS 6.0.2 Release SDK及以上。