Web音频API:麦克风流到扬声器的音量下降了吗?

Nim*_*Nim 5 javascript google-chrome web-audio-api

我正在使用Web音频API将我的麦克风输入流式传输到扬声器,因此我可以听到自己通过扬声器讲话:

var aCtx = new AudioContext();
navigator.mediaDevices.getUserMedia({audio: true}).then(function (stream) {
     var microphone = aCtx.createMediaStreamSource(stream);
     microphone.connect(aCtx.destination);
})
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是只要我保持稳定的长时间语音输入,输出增益就会在几秒钟后下降。

我遵循cwilso的建议并添加了回声消除约束。但是结果仍然相同。

这是一个小提琴:https : //jsfiddle.net/hcrgL9eg/

帮助将不胜感激。

cwi*_*lso 5

是的,您正在点击“自动增益控制”。默认情况下,音频输入有许多功能(回声消除、AGC、降噪)。看看使用 WebRTC 应用程序禁用自动增益控制;这是相同的解决方案。