防止系统事件增加主音量

防止系统事件增加主音量

我有一台笔记本电脑,经常在上课时使用。为此,我想关闭声音,因此我将主音量静音/调低至 0%

然后,当某些东西触发系统消息(例如“电源线已拔出”)时,主音量会自动放大到 100% 并取消静音以播放通知声音。

如何禁用此功能?

到目前为止,我只有静音/降低 PC 扬声器音量的解决方法,这不受系统消息的影响。但是,这样做的缺点是,我需要打开 alsamixer(因为出于某种原因,音量控制在 KMix 中不可见)并在我想要扬声器声音时将其打开,然后我必须记住在不再需要它时将其关闭(这不能通过“普通”多媒体键完成)。

该笔记本电脑是联想 G780,配备英特尔公司 7 系列/C210 系列芯片组系列高清音频控制器。

我已经安装了 pulseaudio。

答案1

务实地说,一个解决方案可能是在需要安静时切掉耳机的 3.5 毫米插头并将其插入笔记本电脑!

或者,请注意 alsamixer 有一个命令行版本amixer(fedora 上的包alsa-utils),因此您可以编写一个小脚本来使扬声器静音或取消静音。

列出可用的设备:

$ aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
...

列出该卡的控件:

$ amixer -c 0 scontents
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 52
  Mono:
  Front Left: Playback 26 [50%] [-27.00dB] [on]
  Front Right: Playback 26 [50%] [-27.00dB] [on]

设置音量及静音状态:

$ amixer -c 0 set 'PCM' '50%' mute

这个错误似乎是kde 错误 324975 “每次 knotify 事件后音量都会恢复到 100%”,最早报告于 2013-09-16,并于2014-12-04状态为已解决,但现在仍有许多人遇到问题并在添加评论。

解决方法的建议很大程度上取决于您的系统,包括:

  • flat-volumes=no在 /etc/pulse/daemon.conf 中设置

  • ~/.gtkrc-2.0在或~/.config/gtkrc-2.0$XDG_CONFIG_HOME/gtk-3.0/settings.ini 使用中禁用这些声音

    gtk-enable-event-sounds=0
    gtk-enable-input-feedback-sounds=0
    
  • 删除 libcanberra-gtk2 声音主题包。

  • 使用 gstreamer 后端而不是 PulseAudio。

  • 在 15.04 中,在系统设置 -> 应用程序和系统通知 -> 播放设置中启用音量控制,并设置 100% 以外的值。

答案2

在 archlinux 中也有同样的问题,我在这里找到了解决方案:

http://userbase.kde.org/Sound_Problems/es#Can.27t_mute_event_.28system.29_sounds_and_other_KMix_strange_problems

现在,在 KDE 4.10+ 中,PulseAudio 已由用户会话启用,我们可以使用以下命令进行检查

ps -ef | grep pulseau

输出示例:

sergio    1880     1  0 12:15 ?        00:04:01 /usr/bin/pulseaudio --start --log-target=syslog

输入以下命令

killall kmix
rm -rf .pulse/
rm -rf .pulse-cookie 
rm -rf .config/pulse/
kmix

已修复此问题。PulseAudio 的旧配置可能会出现此问题,如果我们创建新用户,则不会出现此问题。

相关内容