Pipewire-pulse:没有声音,“播放打开失败:设备或资源忙”

Pipewire-pulse:没有声音,“播放打开失败:设备或资源忙”

我正在运行wireplumber++ pipewirepipewire-pulse但 HDMI 电缆无法发出任何声音。 pactl list sinks显示我所有的音频设备,SUSPENDEDjournalctl --user -u pipewire显示每个设备的错误消息墙,如下所示

spa.audioadapter: params Spa:Enum:ParamId:EnumFormat: 0:0 (follower format) Device or resource busy
spa.alsa: '_ucm0001.hw:Audio,3': playback open failed: Device or resource busy

我认为问题是其他东西锁定了我的设备/dev/snd

# fuser -fv /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  cheez      1383 F.... pipewire
                     cheez      1388 F.... wireplumber
                     root       3710 F.... pulseaudio
/dev/snd/controlC1:  cheez      1388 F.... wireplumber
                     root       3710 F.... pulseaudio
/dev/snd/pcmC0D0p:   root       3710 F...m pulseaudio
/dev/snd/pcmC0D1c:   root       3710 F...m pulseaudio
/dev/snd/pcmC0D1p:   root       3710 F...m pulseaudio
/dev/snd/pcmC0D2c:   root       3710 F...m pulseaudio
/dev/snd/pcmC0D3p:   root       3710 F...m pulseaudio
/dev/snd/pcmC1D9p:   root       3710 F...m pulseaudio
/dev/snd/seq:        cheez      1383 F.... pipewire

我没有pulseaudio安装过。我有pipewire-pulse。为什么 root 会锁定我的声卡?我怎样才能解锁

答案1

谢谢@cheezsteak 的指点。对于遇到同样问题的其他人,Home Assistant 的存储库已建议防止容器控制主机的声卡。

只需创建一个包含以下内容的文件 /etc/udev/rules.d/89-pulseaudio.rules :

DRIVERS=="bcm2835_audio", ENV{PULSE_IGNORE}="1"

如果需要,将“bcm2835_audio”替换为您卡的驱动程序,您可以使用以下命令找到它

udevadm info -a -p $(udevadm info -q path -n /dev/snd/controlC0)

来源

相关内容