2015-11-19 4 views
8

Diese Frage wurde schon zweimal auf dieser Seite gestellt und beantwortet, aber dieser Code scheint auf modernen Telefonen überhaupt nicht zu funktionieren. Ich arbeite an einem Android 4.2 und einem Android 4.3 und keiner scheint zu funktionieren.Wie aktiviere ich den Android-Lautsprecher während eines Anrufs, vom Code?

Ich spiele während des Anrufs MP3 über einen Media Player und es funktioniert einwandfrei, aber sowohl der Song als auch der Anruf kommen über den Sprachlautsprecher. Wenn ich "Speaker" drücke, spielen beide über den Lautsprecher weiter. ich diesen Effekt benötigen, aber ohne es selbst drücken zu müssen

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"/> 

Dies wurde als eine Lösung für die beiden anderen Fragen auf S.O vorgeschlagen, aber es funktioniert einfach nicht. Es sollte, der Code ist in Ordnung, aber es macht nichts mit dem Audio überhaupt.

Gedanken?

+0

Sie haben dieses Angebot auf der Entwicklerseite überprüft. "Sie können die Audiodaten nur auf dem Standardausgabegerät wiedergeben. Derzeit ist dies der Lautsprecher des Mobilgeräts oder ein Bluetooth-Headset. Während eines Gesprächs können Sie keine Audiodateien im Konversationston wiedergeben Anruf." ---- http://developer.android.com/guide/topics/media/mediaplayer.html –

+0

Können Sie die Audiodatei über einen mobilen Lautsprecher oder Kopfhörer wiedergeben, wenn Sie gerade telefonieren? –

+0

Ja, ich sagte das oben, es funktioniert absolut gut. Peinlicherweise fand ich eine Stunde, nachdem ich diese Frage gestellt hatte, eine Lösung. Ich habe einen separaten Thread in einem "while (true)" erstellt, der den obigen Code wiederholt ausführt. Auf diese Weise ist der Lautsprecher eingeschaltet und die Musik spielt mit dem Anruf mit. –

Antwort

3

Ich löste es. Ich habe einen Thread erstellt, der die obigen drei Codezeilen in einem "While (true)" ständig ausführt. Funktioniert super.

Verwandte Themen