# ZlwAudioRecorder **Repository Path**: chinasoft2_ohos/ZlwAudioRecorder ## Basic Information - **Project Name**: ZlwAudioRecorder - **Description**: 多格式音频录制与可视化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-24 - **Last Updated**: 2021-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ZlwAudioRecorder #### 项目介绍 - 项目名称:ZlwAudioRecorder - 所属系列:openharmony的第三方组件适配移植 - 功能:支持wav、MP3、pcm格式音频录制,实现音频可视化自定义控件 - 项目移植状态:主功能完成 - 调用差异:无 - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本: Release v1.07 #### 效果演示 #### 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:ZlwAudioRecorder:1.0.8') ...... } ``` 在sdk6,DevEco Studio2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 1. 初始化 * init ```java /** * 参数1: Application 实例 * 参数2: 是否打印日志 */ RecordManager.getInstance().init(MyApp.getInstance(), false); ``` * 确保有录音权限 2. 配置录音参数 * 修改录音格式(默认:WAV) ```java RecordManager.getInstance().changeFormat(RecordConfig.RecordFormat.WAV); ``` * 修改录音配置 ```java RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setSampleRate(16000)); RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setEncodingConfig(AudioFormat.ENCODING_PCM_8BIT)); ``` * 录音状态监听 ```java RecordManager.getInstance().setRecordStateListener(new RecordStateListener() { @Override public void onStateChange(RecordHelper.RecordState state) { } } @Override public void onError(String error) { } }); ``` * 录音结果监听 ```java RecordManager.getInstance().setRecordResultListener(new RecordResultListener() { @Override public void onResult(File result) { } }); ``` * 声音大小监听 ```java RecordManager.getInstance().setRecordSoundSizeListener(new RecordSoundSizeListener() { @Override public void onSoundSize(int soundSize) { } }); ``` * 音频数据监听 ```java recordManager.setRecordDataListener(new RecordDataListener() { @Override public void onData(byte[] data) { } }); ``` * 音频可视化数据监听 ```java recordManager.setRecordFftDataListener(new RecordFftDataListener() { @Override public void onFftData(byte[] data) { audioView.setWaveData(data); } }); ``` 3. 录音控制 * 开始录音 ```java RecordManager.getInstance().start(); ``` * 暂停录音 ```java RecordManager.getInstance().pasue(); ``` * 恢复录音 ```java RecordManager.getInstance().resume(); ``` * 停止 ```java RecordManager.getInstance().stop(); ``` #### 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 当前版本demo功能与原组件基本无差异 #### 版本迭代 - 1.0.0