参考Google文档和此链接https://developer.android.com/reference/android/media/MediaRecorder
,我编写了用于电话录音服务的代码,并提供了所有必需的权限。
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
我什至还应用了以下代码
intdevicecallvol = audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
tempcallvol = audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, tempcallvol, 0);
audioManager.setMode(AudioManager.MODE_IN_CALL);
在开始录制之前,受少数博客的指导。但是,这些方法都无法捕捉到呼叫方的清晰声音。我只能录制我的声音。
即使我尝试使用MIC,默认,语音通信和语音呼叫等不同的音频源选项进行测试,但都无法给出期望的结果。
我正在对Pixel 2进行测试
还有一件事,我使用通话记录器应用https://play.google.com/store/apps/details?id=com.appstar.callrecorder
,这是令人惊叹的录音,双方的音色清晰,无需任何设置。当我检查其默认设置时,我将音频源显示为“语音呼叫”,而将音频源设置为语音呼叫会给我带来错误,因为像素2不支持它。
请帮助。