使用webRTC android发出声音

时间:2019-07-08 22:02:43

标签: android webrtc

我正在使用WebRTC在两个Android设备之间进行实时直播。有时,对于某些用户,声音中会出现回声。我在两端都使用免提(扬声器)。

那么我如何删除回声?也许我在代码中做错了什么?

2 个答案:

答案 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);
}