ZlwAudioRecorder 功能 使用AudioRecord进行录音 实现pcm、wav、mp3音频的录制 实时获取录音的音量、及录音byte数据 获取wav/mp
dependencies {
implementation 'com.GitHub.zhaolewei:ZlwAudioRecorder:v1.07'
}
allprojects {
repositories {
...
Maven { url 'https://www.jitpack.io' }
}
}
如何使用
初始化
init
RecordManager.getInstance().init(MyApp.getInstance(), false);
在清单文件中注册Services
确保有录音权限
录音需要使用到AudioRecord类,这里说一下他的构造方法中的参数的意义
public AudioRecord(int audiOSource, int sampleRateInHz, int channelConfig, int audioFORMat, int bufferSizeInBytes);
构造器参数很多,我们一点一点来看:
- audioSource : 声源,一般使用MediaRecorder.AudioSource.MIC表示来自于麦克风
- sampleRateInHz :官方明确说到只有44100Hz是所有设备都支持的。其他22050、16000和11025只能在某些设备上使用。
- channelConfig : 有立体声(CHANNEL_IN_STEREO)和单声道(CHANNEL_IN_MONO)两种。但只有单声道(CHANNEL_IN_MONO)是所有设备都支持的。
- audioFormat : 有ENcoding_PCM_16BIT和ENCODING_PCM_8BIT两种音频编码格式。同样的,官方声明只有ENCODING_PCM_16BIT是所有设备都支持的。
- bufferSizeInBytes : 录音期间声音数据的写入缓冲区大小(单位是字节)。
这里参数audioSource 、sampleRateInHz 、channelConfig 、audioFormat 都是可以根据需要进行选择,只有bufferSizeInBytes 这个参数,需要通过计算来获得。在介绍计算方法之前,先看一下音频数据的读取与转换。
修改录音格式(默认:WAV)mp3
RecordManager.getInstance().changeFormat(RecordConfig.RecordFormat.MP3);
修改录音配置
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()/pasue()/resume()/stop();
最讨厌的源码为你们奉上:Https://github.com/zhaolewei/ZlwAudioRecorder
--结束END--
本文标题: Android 录音转mp3
本文链接: https://www.lsjlt.com/news/28965.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0