[英]record call on Android nougat 7.0
我正在使用一個簡單的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());
經過一個月的關於通話記錄的研究,我發現每個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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.