Android录音主要使用的是MediaRecorder这个类,并且必须严格按照上图的流程图才可以完成录音。
1、初始化
MediaRecorder mediaRecorder = new MediaRecorder();
// 设置输出文件
mediaRecorder.setOutputFile(file.getAbsolutePath());
// 设置MediaRecorder的音频源为麦克风
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
// 设置音频格式
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
// 设置音频的编码为amr
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
2、准备
mediaRecorder.prepare();
3、开始录音
mediaRecorder.start();
4、停止录音
// 停止录音
mediaRecorder.stop();
// 释放资源
mediaRecorder.release();
5、获取录音音量
try {
// getMaxAmplitude()范围是在1-32767之间
if (mediaRecorder == null)
return 1;
else
return maxLevel * mediaRecorder.getMaxAmplitude() / 32768 + 1;
} catch (IllegalStateException e) {
}