- 使用AudioRecord进行录音
- 实现pcm音频的录制
- 实现wav音频的录制
- 实现mp3音频的录制
- 实时获取录音的音量
- 获取wav/mp3录音文件的时长
https://www.jianshu.com/p/c0222de2faed
dependencies {
implementation 'com.github.zhaolewei:ZlwAudioRecorder:1.0.3'
}
- 初始化
-
init
/** * 参数1: Application 实例 * 参数2: 是否打印日志 */ RecordManager.getInstance().init(MyApp.getInstance(), false);
-
在清单文件中注册Services
<service android:name="com.zlw.main.recorderlib.recorder.RecordService" />
-
确保有录音权限
- 配置录音参数
- 修改录音格式(默认:WAV)
RecordManager.getInstance().changeFormat(RecordConfig.RecordFormat.WAV);
- 修改录音文件存放位置(默认sdcard/Record)
RecordManager.getInstance().changeRecordDir(recordDir);
- 录音状态监听
RecordManager.getInstance().setRecordStateListener(new RecordStateListener() { @Override public void onStateChange(RecordHelper.RecordState state) { } } @Override public void onError(String error) { } });
- 录音结果监听
RecordManager.getInstance().setRecordResultListener(new RecordResultListener() { @Override public void onResult(File result) { } });
- 声音大小监听
RecordManager.getInstance().setRecordSoundSizeListener(new RecordSoundSizeListener() { @Override public void onSoundSize(int soundSize) { } });
- 录音控制
- 开始录音
RecordManager.getInstance().start();
- 暂停录音
RecordManager.getInstance().pasue();
- 恢复录音
RecordManager.getInstance().resume();
- 停止
RecordManager.getInstance().stop();