【发布时间】:2020-11-18 08:16:41
【问题描述】:
我正在使用 Electron(版本 10,Chrome v75)和 WebRTC 构建视频会议应用。该应用程序有多个窗口,在每个窗口中,我都有一个单独的 RTCPeerConnection 与不同的应用程序用户。问题是,如果我不使用耳机,会有强烈的回声让应用几乎无法使用。
我尝试设置各种getUserMedia 选项,例如echoCancellation: true 或googEchoCancellation: true、echoCancellationType: "browser"/"system",但没有一个能够消除来自各种声源的回声。
这个问题只出现在 Mac 和 Linux 上,而 Windows 可以非常有效地抑制回声。
我发现这个 Chromium 问题描述了一个类似的问题 in more detail。
另外,当我在 Chrome + Mac 或 Linux 上试用 Fiddle 时(虽然 Chrome 并不适合这种情况,请查找更多详细信息 here),我没有看到回声消除的效果,并且回声仍然那里。然而,同样的事情在 Chrome + Windows 或 Firefox + 任何操作系统上都能完美运行。
难道真的是 Chrome 中的 AEC(回声消除)没有考虑到所有声源吗?有人知道解决方法吗?
【问题讨论】:
标签: google-chrome webrtc aec echo-cancellation