使用耳机进行 Quickblox 音频通话 Android

Quickblox Audio call using ear speakers Android

我正在实施 Quickblox WebRTC calling 。一切都已成功实施,但我想通过 phone 的耳机进行音频通话。默认情况下,它仅在扬声器上。 如何像任何其他通话应用程序一样启用通过耳机通话?我也试过这个:

    AudioManager m_amAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);  
    m_amAudioManager.setMode(AudioManager.MODE_IN_CALL); 
    m_amAudioManager.setSpeakerphoneOn(false); 

但我还是没用!

要切换音频插座你需要调用switchAudioOutput();当前版本的方法 它在扬声器和 phone 扬声器之间切换(如果耳机打开,则它在耳机和扬声器之间切换)

如果您使用的是 QuickBlox SDK 版本 2.5.2,您可以像这样设置 AudioManager:

    audioManager = AppRTCAudioManager.create(this, new AppRTCAudioManager.OnAudioManagerStateListener() {
        @Override
        public void onAudioChangedState(AppRTCAudioManager.AudioDevice audioDevice) {

        }
    });

    audioManager.setDefaultAudioDevice(AppRTCAudioManager.AudioDevice.EARPIECE);

    audioManager.setOnWiredHeadsetStateListener(new AppRTCAudioManager.OnWiredHeadsetStateListener() {
        @Override
        public void onWiredHeadsetStateChanged(boolean plugged, boolean hasMicrophone) {

        }
    });
    audioManager.init();