我正在使用WebRTC在两个Android设备之间进行实时直播。有时,对于某些用户,声音中会出现回声。我在两端都使用免提(扬声器)。
那么我如何删除回声?也许我在代码中做错了什么?
答案 0 :(得分:1)
在使用WhatsApp时,我将首先尝试检查回声是否也存在。如果是这样,则回声与设备有关,可能很难修复。
如果不是,则可能与音频模式有关。建立通话后,请确保将音频模式设置为MODE_IN_COMMUNICATION
:
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_COMMUNICATION);
答案 1 :(得分:0)
尝试使用:
if (!isSpeakerphoneOn)
{
audioManager.abandonAudioFocus(null);
audioManager.setMode(AudioManager.MODE_NORMAL);
audioManager.setSpeakerphoneOn(false);
}
else
{
audioManager.requestAudioFocus(null, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.setSpeakerphoneOn(true);
}