Мне нужно воспроизвести звук через динамик. Я использую AudioTrack для воспроизведения звука на устройстве. и аудиорежим устанавливается как STREAM_VOICE_CALL. Кроме того, в моей деятельности, спикерфон выключен:setSpeakerphoneOn() не работает на 2.1, работает на 2.3
AudioManager am;
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setSpeakerphoneOn(false);
Это, кажется, прекрасно работает на 2,3 устройстве. Но на 2.1 звук все еще воспроизводится из динамика.
Как исправить это, я попытался с помощью SetMode() как:
am.setMode(AudioManager.MODE_IN_CALL);
С этим, звук воспроизводится через динамик для 2.1 и 2.3, но в большинстве случаев не играл вообще на 2,3. Кроме того, я читал в некоторых местах, что setMode() не должен использоваться приложениями, поскольку он влияет на состояние системы в целом. здесь: http://code.google.com/p/sipdroid/issues/detail?id=270
Любая помощь?
Я установил его обратно в MODE_NORMAL. все еще проблема. Я предполагаю, что мне придется жить с тем, что приложение 2.3+ или багги на 2.1. setmode() вообще не рекомендуется для таких приложений (проверьте ссылку в моем вопросе edit) – Alabhya
Поскольку методы маршрутизации устарели, я не думаю, что есть другое решение, если вы не используете их специально для 2.2-. Это может быть ошибка с телефоном, который вы используете, например, как неполный аудио-драйвер или что-то в этом роде. –