我遇到这个问题,我听到扬声器发出静电噪音,当我开始播放任何音频时,这种噪音就会消失,而当我不播放任何音频时,几秒钟后又会出现。
答案1
下列的这些说明,我以详细模式运行了 pulseaudio:
$ systemctl --user stop pulseaudio.socket
$ systemctl --user stop pulseaudio.service
$ pulseaudio -v
每次静态噪声开始时,我都会发现以下输出:
I: [pulseaudio] module-suspend-on-idle.c: Source alsa_input.usb-Logitech_Logitech_Wireless_Headset_88C626977831-00.multichannel-input idle for too long, suspending ...
I: [alsa-source-USB Audio] alsa-source.c: Device suspended...
I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.pci-0000_07_00.6.analog-stereo idle for too long, suspending ...
I: [alsa-sink-ALC887-VD Analog] alsa-sink.c: Device suspended...
I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.pci-0000_07_00.1.hdmi-stereo idle for too long, suspending ...
I: [alsa-sink-HDMI 0] alsa-sink.c: Device suspended...
I: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.usb-Logitech_Logitech_Wireless_Headset_88C626977831-00.analog-stereo idle for too long, suspending ...
I: [alsa-sink-USB Audio] alsa-sink.c: Device suspended...
然后,我注释掉了这一行/etc/pulse/default.pa
:
### load-module module-suspend-on-idle
最后,我重新启动了计算机,静电噪音就消失了:)
答案2
当音频进入省电模式时会触发此问题。我知道有两种方法可以解决此问题:
- 通过编辑文件禁用 pulseaudio 的音频省电功能
/etc/pulse/default.pa
,并注释掉以下行
load-module module-suspend-on-idle
您可以通过在行首添加“ ”来注释一行#
。这似乎是最流行的解决方案,因为我在很多地方都发现了它,包括 Fabian 的答案。
- 通过运行命令禁用系统范围内音频设备的省电功能
echo 0 | sudo tee /sys/module/snd_hda_intel/parameters/power_save
我发现这个解决方案https://www.makeuseof.com/fix-static-noise-from-speakers-linux/。
归根结底,我认为如何解决这个问题并不重要。就我个人而言,我更喜欢第二种选择,因为它更通用,因为它不依赖于 pulseaudio。