我们正在尝试启用已经实施的回声消除技术。
场景:
两个android设备已成功连接,并且两个设备上的声音都很好。
设备1启用/停用免提电话:
AudioManager audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));
audioManager.setSpeakerphoneOn(false);
设备2 他们说话时会听到自己的声音(针对此问题)
任何帮助或指导将不胜感激。
答案 0 :(得分:1)
默认情况下,某些Android设备不支持回声消除。如果您使用的是werbtc,则Webrtc提供了api来执行回声消除。请使用以下代码启用回声消除。
WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true);
WebRtcAudioUtils.setWebRtcBasedNoiseSuppressor(true);
答案 1 :(得分:1)
在基于WebRTC的Cordova移动应用上测试视频通话时,我一直在努力解决Android上的回音消除问题。但是,包括IOS在内的大多数移动设备都没有回声问题,但Samsunng-S10和诺基亚设备上存在回声。
我还假设WebRTC支持默认情况下启用的音频约束“ echoCancellation:true”。但是,这种音频限制似乎无效。
我通过在AudioManager中设置模式来修复它
command -v
看起来有些移动设备在音频模式显式设置为“通信”之前不会启动回声消除(即使受支持)。
答案 2 :(得分:0)
假设AEC处于活动状态并且正在运行,我建议验证echo path是否受AEC支持。
答案 3 :(得分:0)
您需要在创建的AudioRecord实例上附加一个AcousticEchoCanceler。