切换音频配置文件之前声音无法正常工作

切换音频配置文件之前声音无法正常工作

我的 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不能解决问题。我还可以尝试其他什么,或者我可以查看其他有趣的日志来缩小问题范围吗?

以下是实际问题的屏幕录制:

https://streamable.com/bjzyij

答案1

该解决方案是由 archlinux 论坛的一位友好用户向我提供的。

引用一下帮助过我的人的话:

您正在混合使用wireplumber和pulseaudio,这是一个不受支持/预计会很麻烦的配置。要么切换到pipewire-media-session并保留pulsaudio,要么通过安装pipewire-pulse而不是pulseaudio来正确切换到pipewire。

相关内容