Так что я искал ответ на это везде. Все ответы устарели или просто не работают.
Я создаю приложение, которое должно записывать входящий голос и исходящий голос / телефонный звонок.
Это мой код:
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.RECORD_AUDIO },
10);
}
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
//recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); // optional & default value
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
calendar = Calendar.getInstance();
datestamp = simpleDateFormat.format(calendar.getTime());
outputFile = getExternalCacheDir().getAbsolutePath();
outputFile += "/namefile_" + datestamp + ".amr";
recorder.setOutputFile(outputFile);
recorder.prepare();
recorder.start();
Я использую Android Studio 3.6.2 и Java
Использование AudioSource.VOICE невозможно из-за разрешений.
У кого-нибудь есть решение?