Android nougat 7.0

时间:2018-05-12 20:05:48

标签: java android call android-7.0-nougat android-mediarecorder

我使用简单的媒体记录来记录电话 它在设备上运行良好<牛轧糖 但是在牛轧糖中,它会记录我的呼叫音频......而不是其他的声音 我试图改变音频源而不是工作 有没有办法记录对方的声音?

recorder = new MediaRecorder();  
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);  
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  
    recorder.setOutputFile(audiofile.getAbsolutePath());  

1 个答案:

答案 0 :(得分:0)

经过一个月的通话记录研究后,我发现每个Android版本都喜欢MediaRecorder的类型以使其正常工作,我们不能仅对所有Android版本使用一种类型。我正在为我的项目使用此规则,目前,该规则适用于大多数android版本。

if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
    callType = "VOICE_CALL";
} else if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    callType = "MIC";
} else {
    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
    callType = "VOICE_COMMUNICATION";
}

要进行快速检查,可以检查我的示例:https://github.com/tntkhang/call-recording-master