我的 Arch Linux 安装遇到了一个奇怪的问题。当计算机有一段时间没有播放音频时,它会拒绝播放音频,直到我打开音频面板并将音频配置文件切换到其他内容,然后再切换回我想要使用的音频配置文件。例如,我必须从“模拟立体声双工”切换到“模拟立体声输出”,然后再切换回“模拟立体声双工”。当从“模拟立体声输出”开始时,只需切换到“模拟立体声双工”也可以解决问题。但“输出”和“双工”都不是一开始就能工作的,两者都需要一些切换。在执行此切换之前,声音拒绝播放,并且大多数尝试的应用程序都会在 0 秒处挂起,直到我进行切换。例如,Youtube 根本拒绝显示视频(只是一个加载旋转器)。
硬件是华擎DeskMini X300。
我还有一个带有连接到机器的扬声器的显示器,但它同时也不会播放任何声音,并且将其配置文件永久设置为“关闭”也没有什么区别。
以下是一些可能有用的终端输出:
~ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: ALC233 Analog [ALC233 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 2: ALC233 Alt Analog [ALC233 Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
➜ ~ aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [AG271QG4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC233 Analog [ALC233 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
➜ ~ /sbin/lsmod | grep snd
snd_seq_dummy 16384 0
snd_hrtimer 16384 1
snd_seq 94208 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_hda_codec_realtek 172032 1
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
ledtrig_audio 16384 1 snd_hda_codec_generic
snd_hda_codec_hdmi 86016 1
snd_hda_intel 61440 7
snd_intel_dspcfg 36864 1 snd_hda_intel
snd_intel_sdw_acpi 20480 1 snd_intel_dspcfg
snd_hda_codec 188416 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core 118784 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 172032 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer 49152 3 snd_seq,snd_hrtimer,snd_pcm
snd 131072 26 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
soundcore 16384 1 snd
➜ ~
既不能解决问题alsactl kill rescan
,也 mv ~/.config/pulse ~/.config/pulseold && killall pulseaudio
不能解决问题。我还可以尝试其他什么,或者我可以查看其他有趣的日志来缩小问题范围吗?
以下是实际问题的屏幕录制:
答案1
该解决方案是由 archlinux 论坛的一位友好用户向我提供的。
引用一下帮助过我的人的话:
您正在混合使用wireplumber和pulseaudio,这是一个不受支持/预计会很麻烦的配置。要么切换到pipewire-media-session并保留pulsaudio,要么通过安装pipewire-pulse而不是pulseaudio来正确切换到pipewire。