在某些移动设备(如 Motorola One Power - Android 10、Redmi Note 5 Pro - Android 7.1.2)中,来自手机扬声器的声音通过手机麦克风进入会议并引起回声。仅当电话扬声器处于开启状态时才会出现此回声问题。
我使用了 AudioManager 的 MODE_IN_COMMUNICATION 模式:
mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
此外,使用 PeerConnectionFactory 的 createAudioSource() API 在以下音频约束下创建音频源:
audioConstraints = new MediaConstraints();
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true"));
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googAutoGainControl", "true"));
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googHighpassFilter", "true"));
audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true"));
解决问题的任何帮助或指导将不胜感激。