मैं यूडीपी सॉकेट के माध्यम से ध्वनि प्राप्त करने के लिए ऑडियोट्रैक का उपयोग कर रहा हूं। मुझे ध्वनि के साथ बहुत शोर मिल रहा है इसलिए मैंने ऑडियोमैनेजर का उपयोग करने का फैसला किया। लेकिन AudioManager एप्लिकेशन की सीमाओं से परे ध्वनि रूटिंग बदलता है। नीचे वह कोड है जिसका मैं उपयोग कर रहा हूं।ऑडियोमैनेजर सेटस्पीकरफोन के साथ ऑडियोट्रैक का उपयोग करें
m_amAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(false);
इस कोड के साथ समस्या यह है कि जब मैं अनुप्रयोग को बंद करने और शुरू एक संगीत प्लेयर, ध्वनि सामने वक्ता और नहीं ususal वापस वक्ता से आता है और मैं इसे किसी भी तरह नहीं बदल सकते है। इस समस्या को हल करने के लिए मैंने अपना ऐप बंद करने पर निम्न पंक्ति जोड़ने का फैसला किया।
m_amAudioManager.setSpeakerphoneOn(true);
लेकिन इस लाइन समस्या यह है कि जब मैं एक कॉल (साधारण कॉल) मिल जाए, तो डिफ़ॉल्ट रूप से वक्ता के चालू होने पर है के साथ। मुझे वास्तव में इस पर मदद की ज़रूरत है।
उत्तर के लिए बहुत बहुत धन्यवाद। मैंने इस अनुमति का उपयोग किया है। और मेरी समस्याओं में से एक को ठीक किया। स्पीकर डिफ़ॉल्ट रूप से चालू नहीं है। लेकिन इस कोड के साथ मैंने संगीत प्लेयर चलाने की कोशिश की और यह फ्रंट स्पीकर पर चलना शुरू कर दिया। किसी भी विचार को डिफ़ॉल्ट रूप से कैसे बदला जाए? – SoH
डिफॉल्ट आपके ऐप को शुरू करने से पहले डिवाइस के उपयोगकर्ता द्वारा सेट किया गया डिफ़ॉल्ट है। बिंदु यह है कि ऑडियोमैनेजर सेटिंग को राज्य में पुनर्स्थापित करना आपके द्वारा इसे बदलने से पहले था। इसलिए यदि आपका ऐप शुरू होने से पहले स्पीकरफोन बंद है, तो आपका ऐप बंद होने पर यह बंद हो जाएगा। – TouchBoarder
@hsigmond यह ठीक है अगर हम ऑडियोट्रैक शुरू होने के बाद मोड बदलते हैं? – onmyway133