Node.js 为什么WebRTC正在删除音频

Node.js 为什么WebRTC正在删除音频,node.js,audio,webrtc,getusermedia,Node.js,Audio,Webrtc,Getusermedia,我正在制作一个视频会议应用程序,其中音频非常重要。我刚刚克服了一个重大障碍(花了我两周半的时间才完成),切换了音频设备,但现在当我在两台电脑上测试它并打开麦克风时,音频变得安静了。然后我打开麦克风输入,在音量下降之前,它工作了大约相同的时间。我甚至试着将autoGainControl设置为false,但似乎没有任何效果。有没有一个简单的方法可以做到这一点 我试过:噪音抑制:假,(显然自动增益控制),回声消除:假,通道计数:2,延迟:0,所有这些都不起作用。以下是getUserMedia的当前代

我正在制作一个视频会议应用程序,其中音频非常重要。我刚刚克服了一个重大障碍(花了我两周半的时间才完成),切换了音频设备,但现在当我在两台电脑上测试它并打开麦克风时,音频变得安静了。然后我打开麦克风输入,在音量下降之前,它工作了大约相同的时间。我甚至试着将
autoGainControl
设置为
false
,但似乎没有任何效果。有没有一个简单的方法可以做到这一点


我试过:
噪音抑制:假
,(显然
自动增益控制
),
回声消除:假
通道计数:2
延迟:0
,所有这些都不起作用。以下是
getUserMedia
的当前代码:

音频:{
echoCancellation:echoCancellationMASTER,
noiseSuppression:noiseSuppressionMASTER,
延迟:0,
采样器:48000,
样本:24,
自动增益控制:错误
/*自动增益控制:错误,
信道数:2,
延迟:0,
卷数:3.0*/
}
请注意,注释掉的代码是我也尝试过的代码,但目前没有使用。


任何想法都将不胜感激,谢谢

首先,进入
chrome://webrtc-internals
以确保以您期望的方式正确应用约束

接下来,在每个耳机上使用一套耳机,以消除反馈的可能性。这将有助于确认问题,我怀疑某个地方有回声消除算法。一旦你证实了这一点

即使您将
回声消除
设置为
,将
噪音抑制
设置为
,许多设备仍然有自己的“增强功能”来减少反馈。我怀疑这就是你听到的


如果是这样的话,那么作为一个web开发人员,你真的没有什么可以做的了。它与浏览器位于完全不同的层。当联想的Realtek驱动程序将麦克风用作“通信”设备时,我经常看到这个问题,但在其他计算机上也有同样的问题。

我使用耳机,没有任何反馈问题。但是,我使用的是带有外部麦克风(the)的Windows Lenovo,您认为驱动程序/外部麦克风是问题所在吗?非常感谢你的帮助@divinelemon哦,鉴于该话筒的功能列表,我肯定会检查它对您的音量有何影响。切换麦克风,看看会发生什么。我切换了麦克风(到我的默认麦克风),默认麦克风非常响亮,并且不会降低音频。“这可能是催眠的原因吗?”divinelemon说,“是的。我实际上用另一个麦克风测试了它,这个麦克风插在一个叫做Focusrite的盒子里,声音非常大,使用手动电位器来调节声音,但每当有人加入时,声音的音量仍然在下降。”。我在网站上也有一个分贝表,显示麦克风的输入音量,当我在没有人在场的情况下播放时,分贝表几乎是满的,但当有人参加会议时,分贝表会低于半分贝,我甚至没有碰任何东西,这让我相信这与WebRTC有关。有什么想法吗?