我正面临着录制通话音频的问题 . 最初我通过使用Mic录制音频录制音频,但大部分音频未录制,它会创建一个空的音频文件 . 因此我通过使用 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
切换录制语音呼叫,所有语音呼叫都成功录制,但支持此VOICE_CALL直到kitkat设备 . 他们中的大多数人通过MICROPHONE回复录音 .
try {
f1 = File.createTempFile("Sound", ".mp3", dir);
} catch (IOException e) {
e.printStackTrace();
}
fileName = f1.getName();
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setOutputFile(f1.getAbsolutePath());
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
recordstarted = true;
以上是通过VOICE_CALLS录制的
以下代码用于MIC录制
try {
f1 = File.createTempFile("Sound", ".mp3", dir);
} catch (IOException e) {
e.printStackTrace();
}
fileName = f1.getName();
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setOutputFile(f1.getAbsolutePath());
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
recordstarted = true;
请帮我如何通过MIC录音 . 在通过麦克风录制时会创建空文件,当我播放该文件时,错误显示为“不支持此类音频文件” .