2010-11-25 13 views
4

Hat jemand anderes dies auf dem Samsung Galaxy S erlebt?Ärger mit Lautsprecher aus auf Galaxy S

Wenn ich die Folowing die Lautsprecher auf, um sie funktioniert:

audioManager.setSpeakerphoneOn(true); 

Aber wenn ich das Gegenteil versuchen, es zu deaktivieren:

audioManager.setSpeakerphoneOn(false); 

Der Lautsprecher bleibt und Audio ist gespielt über das anstelle des Ohrstücks auf dem Gerät.

Die oben genannten funktioniert auf dem Nexus One und HTC Hero, hat gerade ein Samsung Galaxy neulich und es funktioniert nicht, hat jemand anderes das Problem kennen und vielleicht wissen, warum es passiert und wenn es eine Arbeit gibt ?

+0

Ja, das sehe ich auch und habe keine Lösung gefunden. – dhaag23

Antwort

4

Hier ist, was ich es tun müssen, um zu arbeiten:

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

Es scheint, dass diese hin und her irgendwie den Audiokanal zurücksetzt. Der Vollständigkeit halber ist hierGalaxyS() (beachten Sie, dass ich dies nur auf dem Epic getestet habe!):

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) 
}