使用耳机进行 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();
我正在实施 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();