2017-02-16 3 views
1

J'ai un projet Android qui utilise PJSUA2 pour la communication VoIP et tout le reste fonctionne très bien. Je suis cependant contrecarré, avec un problème où je ne peux pas obtenir les contrôles de volume pour travailler dans l'activité où mon appel actif est montré. J'ai essayé de le faire la manière recommandée -Comment gérer les niveaux de sortie audio avec PJSUA2 pour Android

audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
setVolumeControlStream(AudioManager.STREAM_MUSIC); 

Cela ne fait rien. J'ai besoin de savoir si l'utilisation d'OnKey Listeners est une alternative réalisable pour augmenter et diminuer manuellement le volume ou si quelque chose me manque complètement, ce qui me permettra de le faire de la manière préférée.

+0

J'ai aussi le même problème @Hanut. Lors de l'exécution de mon application, certains mobiles donnant un bon niveau audio, mais dans certains mobiles, son niveau audio non-portable et très faible. Mais le niveau de volume dans le téléphone est toujours élevé. Comment résoudre ce problème? Avez-vous trouvé cela? Aidez-moi, s'il vous plaît – NandhaKumar

Répondre

0

Donc, j'ai finalement trouvé la façon de le faire raisonnablement avec PJSUA était d'implémenter mon propre gestionnaire de touches, puis de faire varier les niveaux audio Rx en conséquence. J'espère que cela aidera quelqu'un qui était coincé comme moi.

1

Lorsque l'appel est à l'état connecté, vous devez définir le mode audio sur MODE_IN_COMMUNICATION et définir sur MODE_NORMAL à la déconnexion.

// set mode to 3 to indicate MODE_IN_COMMUNICATION mode 
((AudioManager) getSystemService(Context.AUDIO_SERVICE)).setMode(3); 
// set audio mode to normal again on call disconnection 
((AudioManager) getSystemService(Context.AUDIO_SERVICE)).setMode(AudioManager.MODE_NORMAL);