2

Я ищу обходным для моей проблемы, указанной в этом вопросе:Как отключить звук в гарнитуре, но пусть он воспроизводит программно?

How to disable the wired headset programmatically in Java

Как упоминалось там, я получаю звук в обоих моих динамиков и наушников.

Может кто-то пожалуйста, скажите мне, как немого звука в гарнитуре программного, в то время позволяя ему играть ненанесению ущерба на динамике?

ответ

2
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 
am.setMode(AudioManager.MODE_IN_CALL); 
am.setSpeakerphoneOn(true); 

А затем воспроизвести звук через поток AudioManager.STREAM_SYSTEM.

Когда закончится воспроизведение звука, обязательно верните диспетчер аудио в прежнее состояние или он останется на громкоговорителе!

+0

Большое спасибо за ответ. Пара вопросов. Как вы его вернули? * И затем воспроизведите звук через поток AudioManager.STREAM_SYSTEM. * - Какую конкретную команду вы использовали для этого? – SoulRayder

+0

Я понял. Спасибо тонну за ответ :) Свяжутся с вами, если будут какие-либо дальнейшие вопросы из этого сообщения. Еще раз спасибо :) – SoulRayder

2

AudioManager mAudioMgr = (AudioManager) getSystemService (Context.AUDIO_SERVICE); mAudioMgr.setSpeakerphoneOn (true); mAudioMgr.setMode (AudioManager.MODE_IN_COMMUNICATION);

+0

Для меня это работало. Я также должен был добавить разрешение в манифест. '' – denrase