Aşağıdaki kodu kullanarak uygulamada sesli mesajlar için ses kaydediyorum.
MediaRecorder audioRecorder = new MediaRecorder();
audioRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
audioRecorder.setOutputFile(audioRecordingFile);
audioRecorder.prepare();
audioRecorder.start();
Kullanımı MediaRecorder.AudioSource.VOICE_COMMUNICATION yerine MediaRecorder.AudioSource.MIC) Önceden işlenen temiz müzikler kaydında çok yararlıdır.
Ancak, son zamanlarda kaydedilen dosyaların boş olduğu bazı sorunları buldum, son zamanlarda Android 10'a güncellenen birkaç cihazda rapor ediliyor. Android 10 cihazlarının tümünün bu sorunlara sahip olmadığı, sadece birkaçının Nokia 6.1 ve Mi A2.
Hata veya istisna yoktur, sadece boş ses çıkış dosyaları vardır.
MediaRecorder.AudioSource.MIC) kullanırsam sorun görülmez.
Android 10 ve VOICE_COMMUNICATION ile ilgili aşağıdaki bilgileri buldum Android 10 sürümü, VOICE_COMMUNICATION ile çekim yapmak için aşağıdaki gereksinimleri içerir.
Buna dayanarak AcousticEchoCanceler, AutomaticGainControl ve NoiseSuppressor'un kullanılabilirliğini aşağıdaki kodu kullanarak kontrol ettim.
AcousticEchoCanceler.isAvailable()
AutomaticGainControl.isAvailable()
NoiseSuppressor.isAvailable()
Aynı sonucu Android 10 ile Mi A2 ve OnePlus 6'da da buldu.
Sorun tüm Android cihazlarda mevcut olmadığından, MediaRecorder.AudioSource.MIC'i kullanmaya geri dönmek istemiyorum ) . Aynı zamanda, ne zaman MediaRecorder.AudioSource.MIC'e geri döneceğimi söyleyen bir hata, istisna veya ayırt edici faktör yoktur .
GÜNCELLEME: Mi A2'de Google Asistan kapatıldığında sorun çözülür. İşaretçi bu olabilir: https://developer.android.com/guide/topics/media/sharing-audio-input
Bununla ilgili herhangi bir yardım takdir edilmektedir.