Направьте звук через динамик, когда наушники подключены - PullRequest
6 голосов
/ 25 ноября 2010

Как мы можем направить аудиовыход через динамик, даже если гарнитура подключена?

Мой код:

    if(audioManager.isWiredHeadsetOn())
    {
        audioManager.setWiredHeadsetOn(false);
        audioManager.setSpeakerphoneOn(true); 
        audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL);  
        audioManager.setMode(AudioManager.MODE_NORMAL); 

    }

Я что-то здесь упускаю?

Ответы [ 3 ]

3 голосов
/ 25 ноября 2010

Вы пытались добавить <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> в свой AndroidManifest.xml?

http://developer.android.com/reference/android/Manifest.permission.html#MODIFY_AUDIO_SETTINGS

1 голос
/ 25 апреля 2013

может быть, вам нужен audioManager.setMode (AudioManager.MODE_IN_CALL) или MODE_IN_COMMUNICATION;

1 голос
/ 23 июня 2011

Метод AudioManager.setRouting() устарел.

Из Javadoc:

Не устанавливайте аудио маршрутизацию напрямую, используйте setSpeakerphoneOn(), setBluetoothScoOn() методы вместо.

...