Проблема с выключенным динамиком на Galaxy S - PullRequest
4 голосов
/ 25 ноября 2010

Кто-нибудь еще испытывал это на Samsung Galaxy S?

Когда я использую следующие функции, чтобы включить громкоговоритель, он работает нормально:

audioManager.setSpeakerphoneOn(true);

Но когда я пытаюсь отключить его наоборот:

audioManager.setSpeakerphoneOn(false);

Громкоговоритель остается включенным, и через него воспроизводится звук вместо наушника на устройстве.

Вышеуказанное работает на Nexus One и HTC Hero, только что получил Samsung Galaxy на днях, и он не работает, кто-нибудь еще сталкивался с проблемой и, возможно, знает, почему это происходит и есть ли обходной путь?

1 Ответ

4 голосов
/ 14 января 2011

Вот что я должен сделать, чтобы заставить его работать:

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

Кажется, что это назад и вперед как-то сбрасывает аудиоканал.Для полноты вот isGalaxyS () (обратите внимание, что я проверял это только на 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) 
}
...