我正在创建一个用于录制语音通话的应用,几乎可以在所有设备上正常运行。我的问题是在用耳机打电话时没有录制来电。我尝试了很多方法来实现这一目标,但未能克服这个问题。
我尝试使用MediaRecorder
和AudioRecord
。例如,这是我的MediaRecorder示例:
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setAudioSamplingRate(8000);
mediaRecorder.setAudioEncodingBitRate(12200);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setOutputFile(phoneCall.getPathToRecording());
mediaRecorder.prepare();
mediaRecorder.start();
任何建议都表示赞赏。
答案 0 :(得分:0)
Try to use below code.
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
mediaRecorder.setAudioSamplingRate(8000);
mediaRecorder.setAudioEncodingBitRate(12200);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
mediaRecorder.setOutputFile(phoneCall.getPathToRecording());
mediaRecorder.prepare();
Thread.sleep(3000);
mediaRecorder.start();