Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jeryz/AudioRecorder

Repository files navigation

AudioRecorder

record pcm,wav,aac,amr format

使用

Recorder recorder = new Recorder.Builder(this)
 .setChannel(1)//通道数,默认1
 .setSampleRate(16000)//采样率,默认16000
 .setBitsPerSample(16)//采样位,默认16
 .setFileFormat(FileFormat.Format.PCM)//设置录音格式(PCM,WAV,AAC,AMR),默认pcm
 .setOutputPath("sdcard/RecordFile")//设置输出文件路径,默认是app的cachePath
 .setOutputFileName("record.wav")//设置输出文件名,默认文件名格式是yyyyMMdd_HHmm_ss.suffix
 .setRecordTimeout(1000*10)//设置录音时长,默认0
 .setBitRate(96000)//aac编码可设置比特率,默认96000
 .setBuffSize(1024)//录音缓冲区大小,默认是2倍AudioRecord.getMinBufferSize计算的大小
 .setSaveOutputFile(false)//是否保存录音数据到文件,默认true
 //设置自定义编码器AudioProcessor
 .setAudioProcessor("wav", new WAVProcessor() {
 @Override
 public void onBegin(RandomAccessFile writer, Recorder.Config config) throws IOException {
 super.onBegin(writer, config);
 }
 @Override
 public void onEnd(RandomAccessFile writer) throws IOException {
 super.onEnd(writer);
 }
 @Override
 public int onRead(AudioRecordEngine.PCMReader reader, byte[] buffer) throws IOException {
 return super.onRead(reader, buffer);
 }
 @Override
 public void onAudioChunk(RandomAccessFile writer, byte[] chunk, int readLen) throws IOException {
 super.onAudioChunk(writer, chunk, readLen);
 }
 })
 .build();
recorder.start();
recorder.stop();
recorder.cancel();
recorder.pause();
recorder.release();
recorder.isRecording();
recorder.setVolumeListener(new OnVolumeListener() {
 @Override
 public void onVolume(double volume) {
 //输出录音音量
 }
});
recorder.setRecordListener(new OnRecordListener() {
 @Override
 public void onState(int state, String msg) {
 //输出状态OnRecordListener.STATE_START,OnRecordListener.STATE_ERROR ...
 }
 @Override
 public void onResult(String path, long duration_s, long size_k) {
 //输出结果
 }
});
recorder.setOnAudioChunkListener(new OnAudioChunkListener() {
 @Override
 public void onAudioChunk(byte[] chunk) {
 //输出编码后的数据
 }
});

引用AudioRecorder

Step 1. Add it in your root build.gradle at the end of repositories:
allprojects {
	repositories {
		maven { url 'https://jitpack.io' }
	}
}
Step 2. Add the dependency
dependencies {
	implementation 'com.github.jeryz:AudioRecorder:v1.0'
}

About

AudioRecorder一个简单的录音机,支持录制 PCM, WAV, AAC, AMR Format

Topics

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /