मैं निम्नलिखित कोड का उपयोग करके ऐप में ध्वनि संदेशों के लिए ऑडियो रिकॉर्ड कर रहा हूं।
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();
MediaRecorder.AudioSource.VOICE_COMMUNICATION के बजाय MediaRecorder.AudioSource.MIC) का उपयोग पूर्व-संसाधित स्वच्छ ऑडियो रिकॉर्ड करने में बहुत मददगार है।
लेकिन, हाल ही में मुझे कुछ मुद्दे मिले, जिनमें रिकॉर्ड की गई फाइलें खाली हैं, कुछ उपकरणों पर रिपोर्ट की जा रही हैं, जिन्हें हाल ही में एंड्रॉइड 10 में अपडेट किया गया था। यह ध्यान दिया जाना चाहिए कि सभी एंड्रॉइड 10 डिवाइसों में ये मुद्दे नहीं हैं, केवल कुछ यानी नोकिया 6.1 और Mi A2।
कोई त्रुटि या अपवाद नहीं है, लेकिन सिर्फ खाली ऑडियो आउटपुट फाइलें हैं।
अगर मैं MediaRecorder.AudioSource.MIC) का उपयोग करता हूं, तो समस्या देखी नहीं जाती है।
मुझे Android 10 और VOICE_COMMUNICATION से संबंधित निम्न जानकारी मिली । Android 10 रिलीज़ में VOICE_COMMUNICATION के साथ कैप्चर करने के लिए निम्नलिखित आवश्यकताएँ शामिल हैं।
इसके आधार पर मैंने निम्नलिखित कोड का उपयोग करके ध्वनिक इकोक्रैक्टर, ऑटोमैगनकंट्रोल और नॉइज़सुप्रेसर की उपलब्धता की जाँच की।
AcousticEchoCanceler.isAvailable()
AutomaticGainControl.isAvailable()
NoiseSuppressor.isAvailable()
और एंड्रॉइड 10 के साथ Mi A2 और वनप्लस 6 पर एक ही परिणाम मिला। दोनों डिवाइस उपलब्ध के रूप में ध्वनिक इकोक्रैक्टर और नॉइससुप्रेसर दिखाते हैं और उपलब्ध नहीं के रूप में ऑटोमैगनकंट्रोल।
चूंकि यह मुद्दा सभी Android उपकरणों पर मौजूद नहीं है, इसलिए मैं MediaRecorder.AudioSource.MIC का उपयोग करके वापस नहीं आना चाहता हूं । उसी समय, कोई त्रुटि, अपवाद या विभेदक कारक नहीं है जो मुझे बताता है कि MediaRecorder.AudioSource.MIC पर वापस कब आना है ) ।
अद्यतन: जब Google सहायक Mi A2 पर बंद हो जाता है तो समस्या हल हो जाती है। यह पॉइंटर हो सकता है: https://developer.android.com/guide/topics/media/sharing-a-a-put
इस बारे में कोई मदद की सराहना की है।