3

Основываясь на этом руководстве, я настроил pulseaudio на своем Raspberry Pi для работы в системном режиме. Вот как выглядит мой файл службы 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 ответ1

6

Сказать, что 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .