尝试使用MediaCodec转码pcm到aac没有成功,不过发现可以使用MediaRecord录制aac:
MediaRecorder mediaRecorder;
public String prepareAudio() {
try {
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
String recorderName = "dubbing_"+System.currentTimeMillis()+".aac";
File outPutFile = new File(MEDIA_DUBBING_PATH,recorderName);
mediaRecorder.setOutputFile(outPutFile.getAbsolutePath());
mediaRecorder.prepare();
mediaRecorder.start();
return MEDIA_DUBBING_PATH+"/"+recorderName;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
核心代码就这么多。