有没有办法通过将一些javascript代码应用于应用程序文件来默认禁用WebRTC“自动增益控制功能”?
我正在使用 simplewebrtc。
有没有办法通过将一些javascript代码应用于应用程序文件来默认禁用WebRTC“自动增益控制功能”?
我正在使用 simplewebrtc。
您可以使用约束关闭音频处理(Chrome 使用https fiddle):
var constraints = {
audio: {
echoCancellation: false,
noiseSuppression: false,
autoGainControl: false,
}
};
navigator.mediaDevices.getUserMedia(constraints)
.then(stream => audio.srcObject = stream)
.catch(e => log(e));
var log = msg => div.innerHTML += msg + "<br>";
<audio id="audio" controls autoplay></audio><br>
<div id="div"></div>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
Chrome显然会在指定时关闭所有音频处理echoCancellation: false
。
Firefox还没有这样做,所以现在也包括autoGainControl: false
在内noiseSuppression: false
。
Chrome 和 Firefox (64+)似乎都默认autoGainControl
为true
.
旧版本的 Firefox 将默认autoGainControl
为false
和noiseSuppression
,true
但与所有设备设置一样,默认值可能因浏览器、设备甚至情况而异,因此如果您关心设置,请限制它。
这三个设置也可以在 Chrome 和 Firefox 中单独控制。
现在有一个谷歌扩展可以解决这个问题。