Android录音实现—MediaRecorder
private void startRecord() {
if (mediaRecorder == null) {
mediaRecorder = new MediaRecorder();
}
try {
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
String fileName = DateFormat.getInstance().format("yyyyMMdd_HHmmss")+".m4a";
File dir = new File(saveDir);
if (!dir.exists() || dir.isFile()) {
if (!dir.mkdirs()) {
return;
}
}
String fielPath = dir + File.separator + fileName;
mediaRecorder.setOutputFile(fielPath);
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
private void stopRecord() {
try {
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder = null;
} catch (RuntimeException e) {
e.printStackTrace();
mediaRecorder.reset();
mediaRecorder.release();
mediaRecorder = null;
}
}