Pulseaudio:等待设备启动吗?

Pulseaudio:等待设备启动吗?

基于本指南,我在 Raspberry Pi 上设置了 pulseaudio 以系统模式运行。我的 systemd 服务文件如下所示:

[Unit]
Description=PulseAudio Daemon
After=sound.target
Requires=sound.target

[Install]
WantedBy=default.target

[Service]
Type=notify
ExecStart=/usr/bin/pulseaudio --disallow-exit --no-cpu-limit --daemonize=no --system --realtime --disallow-module-loading --log-target=journal -vvvv

但是,我没有听到任何声音 - 根据日志,当 pulseaudio 启动时,udev-detect 报告“找到 0 张卡。”,而我只得到空接收器。运行systemctl --system restart pulseaudio.service修复了这个问题,我的音频设备被正确检测到了。

有什么办法可以告诉 pulseaudio 等到检测到设备吗?

答案1

告诉 PulseAudio 不会很有用。它已经可以很好地自行检测热插拔设备;但是,由于--disallow-module-loading它不再能够使用设备,因为在检测到设备后禁止加载module-alsa-card。(可以说 module-udev-detect 应该不受此限制……)

你可以告诉systemd延迟启动 pulseaudio.service 直到特定设备准备就绪,通过.device在此设备中列出相应的设备名称After=,例如:

[Unit]
After=sys-devices-pci0000:00-0000:00:1b.0-sound-card0.device

相关内容