Говорят телефон не работает в MODE_IN_CALL в Android версии 4.2.2 больше

У меня есть гарнитура и она подключена к моему телефону. Я попытался запрограммировать на включение динамика телефона (потому что я хочу перенести свой голос с гарнитуры на телефон). Однако, это не сработало, хотя я позвонил setSpeakerphoneOn(true). Проблема в том, что мой голос слышен в моей гарнитуре, а не в моем телефоне. Не могли бы вы увидеть мою конфигурацию и сообщить мне, в чем проблема? Спасибо

_audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
_audioManager.startBluetoothSco();
_audioManager.setMode(AudioManager.STREAM_VOICE_CALL); 
_audioManager.setSpeakerphoneOn(true);
setVolumeControlStream(AudioManager.MODE_IN_CALL);

int maxJitter = AudioTrack.getMinBufferSize(SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT);
track = new AudioTrack(AudioManager.MODE_IN_COMMUNICATION, SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, maxJitter, AudioTrack.MODE_STREAM);

1 ответ

Я использовал приведенный ниже код для удаленного оповещения. Телефон звучит даже после подключения гарнитуры. Попробуйте один раз. Но не уверен, что это поможет вам.

AudioManager audioManager = 
            (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    DataFields.volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

    audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    audioManager.setSpeakerphoneOn(true);
    audioManager.setMode(AudioManager.MODE_IN_CALL);

    int max = audioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC);
    Log.v("MAXVOLUME",""+max);
    int volume;
    while((volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC))<max) {
        audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 0);
    }
    int resID=context.getResources().getIdentifier("alarm", "raw", context.getPackageName());
    mediaPlayer=MediaPlayer.create(context,resID);
    mediaPlayer.setLooping(true);
    mediaPlayer.start();    
Другие вопросы по тегам