2015-11-19 2 views
8

Cette question a déjà été posée et répondue à deux reprises sur ce site, mais ce code ne semble pas fonctionner du tout sur les téléphones modernes. Je travaille sur un Android 4.2 et un Android 4.3 et aucun ne semble fonctionner. Je joue un MP3 via un Media Player pendant l'appel, et cela fonctionne bien, mais la chanson et l'appel passent par le haut-parleur. Si j'appuie sur "Speaker", ils continuent à jouer dans le haut-parleur. Je dois cet effet, mais sans avoir à appuyer sur moi-mêmeComment activer le haut-parleur Android pendant un appel, à partir du code?

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

Cela a été suggéré comme solution aux deux autres questions sur S.O, mais il ne fonctionne tout simplement pas. Ça devrait marcher, le code va bien, mais ça ne fait rien du tout.

Pensées?

+0

Avez-vous coché cette citation dans le site des développeurs "Vous ne pouvez reproduire les données audio que sur le périphérique de sortie standard Actuellement, il s'agit du haut-parleur de l'appareil mobile ou du casque Bluetooth. appel." ---- http://developer.android.com/guide/topics/media/mediaplayer.html –

+0

Êtes-vous capable de lire le fichier audio, via un haut-parleur ou un casque si vous êtes en communication? –

+0

Oui, j'ai déclaré que ci-dessus, cela fonctionne absolument bien. Assez embarrassant, une heure après avoir posté cette question, j'ai trouvé une solution. J'ai créé un fil séparé dans un "while (true)" qui exécute à plusieurs reprises le code ci-dessus. De cette façon, le haut-parleur est allumé et la musique joue avec l'appel. –

Répondre

3

Je l'ai résolu. J'ai créé un thread qui exécute constamment les trois lignes de code ci-dessus dans un "While (true)". Fonctionne très bien.