![如何禁用麦克风自动调节输入音量](https://linux22.com/image/833976/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%E9%BA%A6%E5%85%8B%E9%A3%8E%E8%87%AA%E5%8A%A8%E8%B0%83%E8%8A%82%E8%BE%93%E5%85%A5%E9%9F%B3%E9%87%8F.png)
我想禁用麦克风根据输入降低自身位置的方式。这是一张图片:
麦克风音量从 100% 开始慢慢下降到图像显示的位置。这是因为背景噪音或用户提高了声音。无论如何,我想禁止这种行为,因为当音量太低时,实际上需要提高声音。
那么是否存在一个选项或配置文件可以编辑和改变这种行为?
这不仅与一款应用有关,还与多款应用有关,包括 Skype、Google Hangouts、Empathy、Teamspeak 等等。因此,如果解决方案无法解决其他应用的问题,请不要只提及一款应用。
已经使用了 pulseaudio 应用程序(gui 和终端)。还使用了 Alsamixer。在这两种情况下,调整麦克风音量都没有帮助。自动调整总是在有人说话时发生,甚至不需要有人大声说话,他们只需要说话,几秒钟后麦克风音量就会开始自动调整。我再说一遍,这不是一个应用程序的问题,而是多个应用程序的问题,所以一个通用的解决方案比每个应用程序一个解决方案要好(我们说的是 50 多个应用程序)。
答案1
不确定这是否适用于所有人,但如果您在 Chrome/Chromium 中使用任何类型的网络会议/视频聊天服务(例如 Google Hangouts),则很有可能它使用 WebRTC 协议。不幸的是,Chromium 中的 WebRTC 实现带有一个方便的“功能”,称为自动增益控制,它往往会影响您的麦克风音量。除非网络应用程序本身为您提供禁用它的选项,否则无法将其关闭,并且Chrome 开发人员不想为其添加全局“关闭开关”。
我最终采用的是@lelandbatey 的解决方案。由于我使用的是 PulseAudio,pacmd
因此我使用了amixer
:
while sleep 0.1; do pacmd set-source-volume alsa_input.???-?????.analog-stereo 90000; done
请注意,65535 对应于 100%,因此 90000 约为 135%。设备名称 ( alsa_input.???-?????.analog-stereo
) 应替换为您通过运行以下命令找到的任何名称pacmd list-sources | grep name:
:
name: <alsa_input.???-?????.analog-stereo>
答案2
对于 Skype:
Skype > 选项 > 声音设备
并取消选中允许 Skype 自动调整我的混音器级别
答案3
这对我们有用(我们不使用 Skype):
禁用麦克风增益自动调节:
- 以 root 身份编辑:
sudo editor /usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf
- 以 root 身份编辑:
sudo editor /usr/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
- 在“
[Element Internal Mic Boost]
”下将“ ”设置volume
为“zero
”。 - 在“
[Element Int Mic Boost]
”下将“ ”设置volume
为“zero
”。 - 在“
[Element Mic Boost]
”下将“ ”设置volume
为“zero
”。
答案4
答案来自这个“重复”的问题对我来说是最好的,我把功劳归功于回答的人
在配置文件中/usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf
(您可能需要查找麦克风的正确文件),我将部分更改volume =
为100
百分比,而不是merge
[Element Capture]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
到
[Element Capture]
switch = mute
volume = 100
override-map.1 = all
override-map.2 = all-left,all-right
此后sudo alsa force-reload
,应用程序不再神奇地改变麦克风音量。