Chrome WebRTC 回声消除和外部音频源

voj*_*kic 8 google-chrome aec webrtc echo-cancellation

我正在使用 Electron(版本 10,Chrome v75)和 ​​WebRTC 构建视频会议应用程序。该应用程序有多个窗口,在每个窗口中,我都有一个单独的 RTCPeerConnection 和不同的应用程序用户。问题是,如果我不使用耳机,就会有强烈的回声,使该应用程序几乎无法使用。

我尝试设置各种getUserMedia选项,例如echoCancellation: truegoogEchoCancellation: trueechoCancellationType: "browser"/"system",但没有一个能够消除各种声源的回声。

此问题仅出现在 Mac 和 Linux 上,而 Windows 可以非常有效地抑制回声。

我发现这个 Chromium 问题更详细地描述了类似的问题。

另外,当我在 Chrome + Mac 或 Linux 上尝试这个Fiddle时(尽管 Chrome 对于这种情况并不完美,请在此处找到更多详细信息),我没有看到回声消除的效果,并且回声仍然存在。然而,同样的事情在 Chrome + Windows 或 Firefox + 任何操作系统上都可以完美运行。

Chrome 中的 AEC(回声消除)真的没有考虑到所有声源吗?有人知道解决方法吗?

小智 0

添加 video.volume = 0 以访问相机并开始录制。这个对我有用