0

J'ai essayé de régler l'audio de l'appareil sur le haut-parleur en mode appel.
Cela fonctionne sur la plupart des appareils que j'ai vérifiés.OnePlus 5 ne peut pas démarrer le haut-parleur en mode appel via audiomanager

J'ai acheté l'appareil OnePlus5 et il ne fonctionne pas.

final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
audioManager.stopBluetoothSco(); 
audioManager.setBluetoothScoOn(false); 
audioManager.setSpeakerphoneOn(true); 

Et quand j'ai vérifié le résultat est faux:

audioManager.isSpeakerphoneOn() // return false 

Comme je peux voir dans le logcat quand je mets enceinte du composeur natif ils sont utiliser des objets différents pour régler le haut-parleur:

08-14 09:53:39.778 1562-2928/? I/Telecom: CallAudioRouteStateMachine: Message received: USER_SWITCH_SPEAKER=1104, arg1=0: ICA.sAR->[email protected]_0 
08-14 09:53:39.778 836-14835/? D/AudioPolicyManagerCustom: getOutputForDevice() returns output 13 flag 2 
08-14 09:53:39.778 1562-2928/? I/Telecom: Event: Call [email protected]: AUDIO_ROUTE, Leaving state ActiveEarpieceRoute: ICA.sAR->[email protected]_0 
08-14 09:53:39.778 1562-2928/? I/Telecom: Event: Call [email protected]: AUDIO_ROUTE, Entering state ActiveSpeakerRoute: ICA.sAR->[email protected]_0 
08-14 09:53:39.778 836-1095/? D/APM_AudioPolicyManager: startOutput() output 13, stream 1, session 25 
08-14 09:53:39.778 1562-2928/? I/Telecom: CallAudioRouteStateMachine: turning speaker phone true: ICA.sAR->[email protected]_0 
08-14 09:53:39.778 836-1095/? D/AudioPolicyManagerCustom: getNewOutputDevice() selected device 1 
08-14 09:53:39.778 836-1095/? D/APM_AudioPolicyManager: setOutputDevice() device 0001 delayMs 0 
08-14 09:53:39.779 836-1095/? D/APM_AudioPolicyManager: startOutput()-- 
08-14 09:53:39.779 1562-2928/? V/AudioManager: Elem: dalvik.system.VMStack.getThreadStackTrace(Native Method) 
08-14 09:53:39.779 1562-2928/? V/AudioManager: Elem: java.lang.Thread.getStackTrace(Thread.java:1566) 
08-14 09:53:39.779 1562-2928/? V/AudioManager: Elem: android.media.AudioManager.setSpeakerphoneOn(AudioManager.java:1286) 
08-14 09:53:39.779 1562-2928/? V/AudioManager: Elem: com.android.server.telecom.CallAudioRouteStateMachine.setSpeakerphoneOn(CallAudioRouteStateMachine.java:1353) 
08-14 09:53:39.779 1562-2795/? D/VibratorService: timeout: 0, startTime: 6699313, pattern: [0, 10], vibrateIntensity: Middle, repeat: -1, usageHint: 13, uid: 1001, opPkg: com.android.incallui 

                [ 08-14 09:53:39.780 1562: 8387 E/   ] 
                Vibrator on : 10 

Répondre

0

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

+0

J'utilise cette autorisation déjà. – motis10

+0

J'ajoute que cette permission peut fonctionner sur OnePlus5! mais encore jeter ce journal. – Blanke