我正在尝试通过webrtc获得一个干净的音频通道.通过getUserMedia mediaconstraints对象,我设置了以下选项:
constraints: { audio: { mandatory: { echoCancellation: false,googEchoCancellation: false,googAutoGainControl: false,googAutoGainControl2: false,googNoiseSuppression: false,googHighpassFilter: false,googTypingNoiseDetection: false,//googAudioMirroring: false // For some reason setting googAudioMirroring causes a navigator.getUserMedia error: NavigatorUserMediaError } },video: false },
这大大提高了音频质量,但是似乎存在音频处理,这导致了一些测试样本以高频噪声的形式破坏音频.
有一个Chrome标志 – 用于假冒音频捕获的文件 – 如http://peter.sh/experiments/chromium-command-line-switches/#use-file-for-fake-audio-capture所述,允许通过文件输入进行测试.如在标志的描述中所提及的,所有音频处理都必须被禁用或音频将被扭曲 – 所以似乎有其他选项用于此目的.
我也尝试过–disable-audio-track-processing -audio-buffer-size = 16-enable-exclusive-audio Chrome标志,但仍然有一些音频处理.
是否有任何方法来禁用仍然存在的音频处理(最好通过JS API)?