gpt4 book ai didi

javascript - 如何在 Google Hangouts 或 OpenTokRTC 等 WebRTC 网络应用程序中禁用自动增益控制 (AGC)

转载 作者:可可西里 更新时间:2023-11-01 01:19:02 37 4
gpt4 key购买 nike

在 WebRTC 之前的 googletalkplugin 时代,可以通过将 audio-flags: 1 添加到配置文件来禁用 AGC(麦克风的自动增益控制)。然而,由于 Google Hangouts 现在使用 WebRTC,经常会发生这样的情况,当我与某人聊天时,我的麦克风音量会一路下降,以至于我在另一边或多或少地保持沉默。我也遇到过多次将麦克风音量调高的记者。

我在 http://opentokrtc.com/ 上重现了这种行为它还使用 WebRTC。通过在我的麦克风中发出响亮的爆裂声,我可以让电平在几步内一直下降。我可以在 Chrome 38 和 FireFox 34 beta 上执行此操作。

但是,当我在我的 Ubuntu 14.04.1 机器上使用本地应用程序(例如 Audacity)时,我无法通过发出响亮的爆裂声来影响麦克风音量。换句话说,看起来 WebRTC 真的是罪魁祸首。

在 Chrome 的实现中,似乎可以通过将 googAutoGainControl 传递给 getUserMedia() 调用来配置 WebRTC AGC。在 FireFox 上,我找不到等效项。

我的问题是:作为 WebRTC 最终用户,我该如何配置我的浏览器(Chrome 或 FireFox)以禁用 AGC,因为 AGC 在我的设置中无法正常工作?

最佳答案

作为 MediaTrackConstraints 的 googAutoGainControl 特定于 Chrome (WebKit)。

WebRTC 工作组章程仍在编写标准,他们将在下一个 2015 年 6 月 30 日完成。

Firefox 目前不支持。

注意:不建议您使用 AGC 将任何特定于浏览器的约束指定为强制性的,因为您的调用将在不支持该约束的浏览器中失败。相反,将您的约束指定为可选的。您的浏览器将尽最大努力满足尽可能多的可选约束。

顺便说一句,您可以在 Firefox 中使用 GainNode 界面: https://developer.mozilla.org/en-US/docs/Web/API/GainNode

禁用 googAutoGainControl 的示例:

  var webrtc = new SimpleWebRTC({
localVideoEl: 'localVideo',
remoteVideosEl: '',
autoRequestMedia: true,
//detectSpeakingEvents: true,
adjustPeerVolume: false,
peerVolumeWhenSpeaking: 1,
media: {
audio: {
optional: [
//{sourceId: audio_source},
{googAutoGainControl: false},
{googAutoGainControl2: false},
{googEchoCancellation: false},
{googEchoCancellation2: false},
{googNoiseSuppression: false},
{googNoiseSuppression2: false},
{googHighpassFilter: false},
{googTypingNoiseDetection: false},
{googAudioMirroring: false}
]
},
video: {
optional: [
//{sourceId: video_source}
]
}
}
//autoAdjustMic: false
});

最终用户现在无法在浏览器中禁用此功能。高级用户可以在 about:config 中编辑首选项,但在 Chrome 中不存在。

关于javascript - 如何在 Google Hangouts 或 OpenTokRTC 等 WebRTC 网络应用程序中禁用自动增益控制 (AGC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26485049/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com