【发布时间】:2014-06-10 11:00:54
【问题描述】:
我在录制通话时遇到问题我已进行服务并拨打了BroadcastReceiver 以获取通话状态。在收到电话时在TelephonyManager.EXTRA_STATE_OFFHOOK。我正在使用以下代码来记录通话
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(audiofile.getAbsolutePath());
try {
recorder.prepare();
recorder.start();
}
catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception ex)
{
ex.printStackTrace();
}
此代码运行良好并创建了音频文件,但是当我收听音频文件时,我只能收听我的传出声音,不会记录来电者的声音。
当我使用时
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
而不是
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
在上面的代码中,它在 recoder.start() 上抛出 recoder 失败的异常;
那么,我怎样才能录制语音通话呢?
【问题讨论】:
标签: android mediarecorder telephonymanager