2010-11-25 26 views
4

Quelqu'un d'autre l'a-t-il déjà rencontré sur le Samsung Galaxy S?Problème avec haut-parleur désactivé sur Galaxy S

Lorsque j'utilise le folowing pour tourner le haut-parleur, il fonctionne très bien:

audioManager.setSpeakerphoneOn(true); 

Mais quand j'essaie le contraire pour la désactiver:

audioManager.setSpeakerphoneOn(false); 

Le haut-parleur reste allumé et audio est joué via cela au lieu de l'écouteur sur l'appareil. Les travaux ci-dessus sur le Nexus One et HTC Hero, juste un Samsung Galaxy l'autre jour et ça ne fonctionne pas, quelqu'un d'autre a rencontré le problème et peut-être savoir pourquoi il se passe et s'il y a un travail autour ?

+0

Oui, je vois cela aussi et je n'ai pas trouvé de solution. – dhaag23

Répondre

4

Voici ce que je dois faire pour que cela fonctionne:

if (isGalaxyS()) { 
    audioManager.setMode(AudioManager.MODE_IN_CALL); 
    audioManager.setMode(AudioManager.MODE_NORMAL); 
    audioManager.setSpeakerphoneOn(flag); 
} 

semble que ce va et vient en quelque sorte remet à zéro le canal audio. Pour être complet, voiciGalaxyS() (notez que je l'ai seulement testé sur l'Epic!):

public static boolean isGalaxyS() { 
    String model = Build.MODEL; 
    return model.equalsIgnoreCase("GT-I9000") ||  // base model 
      model.equalsIgnoreCase("SPH-D700") ||  // Epic   (Sprint) 
      model.equalsIgnoreCase("SGH-I897") ||  // Captivate (AT&T) 
      model.equalsIgnoreCase("SGH-T959") ||  // Vibrant  (T-Mobile) 
      model.equalsIgnoreCase("SCH-I500") ||  // Fascinate (Verizon) 
      model.equalsIgnoreCase("SCH-I400");   // Continuum (T-Mobile) 
}