如何解决为什么WebRTC丢弃音频
我正在制作一个视频会议应用程序,其中音频非常重要。我刚刚克服了一个主要的障碍(花了我2个半星期的时间,大约花了2个星期),切换了音频设备,但是现在当我要在2台计算机上对其进行测试并打开我的麦克风时,音频变得安静。然后,我打开了麦克风输入,在音量下降之前,它的工作时间大约相同。我什至尝试将autoGainControl
设置为false
,但这似乎无济于事。有没有简单的方法可以做到这一点?
我尝试过:noiseSuppression: false
,(显然是autoGainControl
),echoCancellation: false
,channelCount: 2
,latency: 0
,但是所有这些都不起作用。这是getUserMedia
的当前代码:
audio: {
echoCancellation: echoCancellationMASTER,noiseSuppression: noiseSuppressionMASTER,latency: 0,sampleRate: 48000,sampleSize: 24,autoGainControl: false
/*autoGainControl: false,channelCount: 2,volume: 3.0*/
}
请注意,注释掉的代码是我也尝试过的代码,但当前未使用。
Click here for the github code
感谢任何想法,谢谢!
解决方法
首先,转到class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
def do_POST(self):
data = self.rfile.readlines()
以确保您的约束按照您期望的方式正确应用。
接下来,在每个耳机上使用一组耳机以消除反馈的可能性。这将有助于确认问题,我怀疑这是某处的某些回声消除算法。一旦确认是这种情况...
即使您将chrome://webrtc-internals
设置为echoCancellation
,并且将false
设置为noiseSuppression
,许多设备仍然具有自己的“增强”功能来进行反馈减少。我怀疑这就是您所听到的。
如果是这种情况,那么作为Web开发人员,您实际上无能为力。它位于与浏览器完全不同的一层。在将麦克风用作“通信”设备时,我经常会看到联想的Realtek驱动程序出现此问题,但在其他计算机上也有相同的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。