中文 | In English
集 录制、播放、解析 于一体的wav文件的工具类。
功能包括:
- 录制
- 录制
wav/pcm文件。(开始、暂停、继续、完成) - 两种模式:
普通模式(全录制),跳过静默区域模式(只录有声部分)
- 录制
- 播放
wav文件。(自定义播放、系统播放) - 解析本地
wav文件的信息
Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
} dependencies {
implementation 'com.github.shaoshuai904:RecordWav:1.2.3'
}构造参数:[ 文件保存路径 + 参数配置 + 各类监听回调(音频数据块拉取监听/沉默监听) ]
方法:startRecording pauseRecording resumeRecording stopRecording
获取普通录音机(java)
Recorder recorder; recorder = MsRecorder.wav( new File("savePath"), // new AudioRecordConfig(), // 使用默认配置 new AudioRecordConfig( MediaRecorder.AudioSource.MIC, // 音频源 44100, // 采样率,44100、22050、16000、11025 Hz AudioFormat.CHANNEL_IN_MONO, // 单声道、双声道/立体声 AudioFormat.ENCODING_PCM_16BIT // 8/16 bit ), new PullTransport.Default() .setOnAudioChunkPulledListener(new PullTransport.OnAudioChunkPulledListener() { @Override public void onAudioChunkPulled(AudioChunk audioChunk) { Log.d("数据监听", "最大值: " + audioChunk.maxAmplitude()); } }) ); recorder.startRecording(); // 开始 recorder.pauseRecording(); // 暂停 recorder.resumeRecording(); // 重新开始 recorder.stopRecording(); // 结束
获取降噪录音机,跳过沉默区,只录"有声音"的部分(kotlin)
MsRecorder.wav( File("savePath"), AudioRecordConfig(), PullTransport.Noise().setOnAudioChunkPulledListener { audioChunk -> Log.d("maple_log", "最大值 : ${audioChunk.maxAmplitude()} ") }.setOnSilenceListener { silenceTime, discardTime -> Log.e("降噪模式", "沉默时间:$silenceTime ,丢弃时间:$discardTime") } )