有什么方法可以防止应用程序改变我的麦克风的音量?

有什么方法可以防止应用程序改变我的麦克风的音量?

我最近从 Windows 切换到了 Ubuntu(15.10),这是我第一次使用 GNU/Linux,到目前为止一切都很完美,除了一件事:
在 Facebook 通话期间(据我所知它基于 Skype,但缺少禁用输入自动调整的选项)Firefox 不断调整我的麦克风音量声音如此之高,以至于我的粉丝都能听到。:/ 我真的必须使用 FB,因为我的女朋友住在离我 400 公里的地方 :/

有什么方法可以防止应用程序更改音量?
或者是否可以使用每 0.1 秒将音量设置为精确位置的脚本?

抱歉我的英语不好,这不是我的母语。
提前谢谢!:)

答案1

我遇到了类似的问题。有时无法阻止应用程序尝试调整麦克风音量。使用 Ubuntu,至少可以阻止 ALSA 响应此类请求。

在配置文件中/usr/share/pulseaudio/alsa-mixer/paths/analog-input-internal-mic.conf(你可能需要为你的麦克风寻找正确的文件),我将其更改为部分

[Element Capture]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Capture]
switch = mute
volume = 40
override-map.1 = all
override-map.2 = all-left,all-right

此后sudo alsa force-reload,应用程序不再神奇地改变麦克风音量。

这能解决你的问题吗?

答案2

如果你正在使用 PipeWire 和 WirePlumber,我最后找到答案了!通过这个,我成功阻止了 Ferdium 客户端干扰声音设置。

基础

  • 创建此文件夹$HOME/.config/wireplumber/main.lua.d
  • 99-stop-microphone-auto-adjust.lua在该文件夹中创建一个名为的文件
  • 将此内容放入文件中
    table.insert (default_access.rules,{
        matches = {
            {
                { "application.process.binary", "=", "ferdium" }
            }
        },
        default_permissions = "rx",
    })
    
  • 重新启动 pipewire 和 wireplumber 等:
    systemctl --user restart wireplumber pipewire pipewire-pulse
    

相关内容