Я хочу воспроизвести звук из файла в телефонном наушнике (или гарнитуру, который подключен), используя андроид MediaPlayer
. Я попытался использовать взломанный MODE_IN_CALL, как было предложено в этой теме - Android - Получение звука для воспроизведения через наушники, но это не помогло. Приложение также имеет разрешение android.permission.MODIFY_AUDIO_SETTINGS, но любой вызов m_amAudioManager.setSpeakerphoneOn(false);
игнорируется.
private AudioManager m_amAudioManager;
m_amAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(false);
Вызов setMode(AudioManager.STREAM_VOICE_CALL);
на MediaPlayer
тоже не помог.
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
Что-то изменилось с тех пор, как Android 2.0 нарушил этот код? Я пробовал код на Android ICS без каких-либо успехов. Может ли кто-нибудь указать мне в правильном направлении? Звук всегда воспроизводится с телефона динамика.