2015-11-19 7 views
8

इस प्रश्न से पूछा गया है और इस साइट पर दो बार जवाब दिया गया है, लेकिन यह कोड आधुनिक फोन पर बिल्कुल काम नहीं कर रहा है। मैं एंड्रॉइड 4.2 और एंड्रॉइड 4.3 पर काम कर रहा हूं और न ही काम करता है।कोड से, कॉल के दौरान एंड्रॉइड स्पीकर को मैं कैसे सक्षम करूं?

मैं कॉल के दौरान मीडिया प्लेयर के माध्यम से एमपी 3 चला रहा हूं, और यह ठीक काम करता है, लेकिन दोनों गाने और कॉल वॉयस स्पीकर के माध्यम से आ रहे हैं। अगर मैं "अध्यक्ष" दबाता हूं तो वे दोनों लाउडस्पीकर के माध्यम से खेलना जारी रखते हैं। मुझे लगता है कि प्रभाव की जरूरत है, लेकिन यह अपने आप प्रेस करने

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
    audioManager.setMode(AudioManager.MODE_IN_CALL); 
    audioManager.setSpeakerphoneOn(true); 

    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 

यह S.O पर दोनों अन्य प्रश्न के लिए एक समाधान के रूप में सुझाव दिया गया था, लेकिन यह सिर्फ काम नहीं करता है बिना। यह होना चाहिए, कोड ठीक है, लेकिन यह बस ऑडियो के लिए कुछ भी नहीं करता है।

विचार?

+0

क्या आपने डेवलपर साइट में यह उद्धरण देखा है "आप केवल मानक आउटपुट डिवाइस पर ऑडियो डेटा वापस चला सकते हैं। वर्तमान में, यह मोबाइल डिवाइस स्पीकर या ब्लूटूथ हेडसेट है। आप वार्तालाप ऑडियो में ध्वनि फ़ाइलों को नहीं चला सकते कहते हैं। " ---- http://developer.android.com/guide/topics/media/mediaplayer.html –

+0

यदि आप कॉल में हैं तो मोबाइल स्पीकर या हेडफ़ोन के माध्यम से आप ध्वनि फ़ाइल चलाने में सक्षम हैं? –

+0

हां, मैंने ऊपर बताया है कि यह बिल्कुल ठीक काम करता है। शर्मनाक रूप से पर्याप्त, मैंने इस प्रश्न को पोस्ट करने के एक घंटे बाद मुझे एक समाधान मिला। मैंने "जबकि (सत्य)" में एक अलग थ्रेड बनाया जो बार-बार उपरोक्त कोड चलाता है। इस तरह वक्ता चालू है और संगीत कॉल के साथ खेल रहा है। –

उत्तर

3

मैंने इसे हल किया। मैंने एक थ्रेड बनाया जो लगातार "सत्य (") में कोड की उपरोक्त तीन पंक्तियों को चलाता है। बहुत अच्छा काम करता है।

संबंधित मुद्दे