我正在使用 Electron(版本 10,Chrome v75)和 WebRTC 构建视频会议应用程序。该应用程序有多个窗口,在每个窗口中,我都有一个单独的 RTCPeerConnection 与不同的应用程序用户。问题是,如果我不使用耳机,会有强烈的回声使应用程序几乎无法使用。
我尝试设置各种getUserMedia
选项,例如echoCancellation: true
or googEchoCancellation: true
, echoCancellationType: "browser"/"system"
,但没有一个能够消除来自各种声源的回声。
这个问题只出现在 Mac 和 Linux 上,而 Windows 非常有效地抑制了回声。
我发现这个 Chromium 问题更详细地描述了一个类似的问题。
此外,当我在 Chrome + Mac 或 Linux 上试用这个Fiddle时(尽管 Chrome 并不适合这种情况,请在此处找到更多详细信息),我看不到回声消除的效果,并且回声仍然存在。然而,同样的事情在 Chrome + Windows 或 Firefox + 任何操作系统上都能完美运行。
Chrome中的AEC(回声消除)是否真的没有考虑到所有声源,有人知道解决方法吗?