Frage

Hat jemand anderes diese auf dem Samsung Galaxy S erlebt?

Wenn ich das folowing verwenden, um die Lautsprecher auf, es funktioniert zu machen:

audioManager.setSpeakerphoneOn(true);

Aber wenn ich das Gegenteil versuchen, es zu deaktivieren:

audioManager.setSpeakerphoneOn(false);

Der Lautsprecher bleibt an und Audio wird über das anstelle des Ohrstück auf dem Gerät wiedergegeben.

Die oben genannten Arbeiten auf dem Nexus One und HTC Hero, erhalten gerade ein Samsung Galaxy den anderen Tag und es nicht funktioniert, hat jemand das Problem gestoßen und vielleicht, warum es passiert ist und wenn es eine Arbeit herum ist?

War es hilfreich?

Lösung

Hier ist, was ich zu tun, um es zu Arbeit zu bekommen:

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 hier isGalaxyS () (beachten Sie, dass ich nur das auf Epic getestet haben!):

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) 
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top