我正在开发通话录音应用。我使用MediaRecorder来记录电话。录制文件的播放速度非常高且无法理解。但是当我使用KMPlayer播放慢动作(30%-50%的速度)时,它可以清楚地理解。这种情况发生在只有拨打电话,而且仅限于三星Galaxy core 2 。以下是我的代码。
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
标识拨出电话的源代码位于下方,并根据该调用包含上述代码段的startRecording()
方法。
else if (intent.getAction().equals(ACTION_OUT)) {
if ((bundle = intent.getExtras()) != null) {
outCall = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
absPath = startRecording("-OUT-");
if ((bundle = intent.getExtras()) != null) {
state = bundle.getString(TelephonyManager.EXTRA_STATE);
if (state != null) {
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
wasRinging = false;
if (recordstarted) {
try{
recorder.stop();
recordstarted = false;
}catch (Exception e){
Log.e(TAG,"IOException",e);
}
}
}
}
}
}
}
任何解决方案都可以提前接受。
答案 0 :(得分:1)
删除这两行
recorder.setAudioSamplingRate(8000);
recorder.setAudioEncodingBitRate(12200);