AudioRecorder: Android 录音及录音可视化相关 lib,支持 pcm、wav、mp3 音频的录制
ZlwAudioRecorder项目地址:zhaolewei/ZlwAudioRecorder简介: AudioRecorder: Android 录音及录音可视化相关 lib,支持 pcm、wav、mp3 音频的录制更多:作者提 Bug标签:功能使用 AudioRecord 进行录音实现 pcm、wav、mp3 音频的录制实时获取录音的音量、及...
·
ZlwAudioRecorder
项目地址:zhaolewei/ZlwAudioRecorder
简介: AudioRecorder: Android 录音及录音可视化相关 lib,支持 pcm、wav、mp3 音频的录制
标签:
功能
- 使用 AudioRecord 进行录音
- 实现 pcm、wav、mp3 音频的录制
- 实时获取录音的音量、及录音 byte 数据
- 获取 wav/mp3 录音文件的时长
- 可配置录音的采样率、位宽 (v1.04 更新)
- 录音可视化 (v1.05 更新)
博客
https://www.jianshu.com/p/c0222de2faed
Gradle
dependencies {
implementation 'com.github.zhaolewei:ZlwAudioRecorder:v1.07'
}
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
如何使用
- 初始化
- 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); -
修改录音配置
RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setSampleRate(16000)); RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setEncodingConfig(AudioFormat.ENCODING_PCM_8BIT)); - 修改录音文件存放位置(默认 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.setRecordDataListener(new RecordDataListener() { @Override public void onData(byte[] data) { } }); - 音频可视化数据监听
recordManager.setRecordFftDataListener(new RecordFftDataListener() { @Override public void onFftData(byte[] data) { audioView.setWaveData(data); } }); - 录音控制
- 开始录音
RecordManager.getInstance().start(); - 暂停录音
RecordManager.getInstance().pasue(); - 恢复录音
RecordManager.getInstance().resume(); - 停止
RecordManager.getInstance().stop();
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)