& ldquo; Не удалось открыть аудио выход & rdquo; ошибка при попытке отправить аудио из mpd в pulseaudio

Когда я пытаюсь воспроизвести mpd через pulseaudio, отчеты mpd.log:

pulse_output: Не удалось включить «Розовый ROCKI» [pulse]: pa_context_connect () не удалось: соединение отклонено Кажется, что Pulse работает нормально, так как pacmd list-sinks показывает все мои приемники пульса, meb browser audio отлично воспроизводится через приемник по умолчанию, а VLC может воспроизводить звук через любой из них. mpd отлично работает, если я отправляю вывод через alsa вместо импульса. Оба mpd и pulseaudio работают под моей учетной записью (fred). fred, mpd и pulseaudio - все это члены пульсового, импульсного доступа и аудиогрупп. Я даже пробовал это с помощью разных сборок pulseaudio: 4.0, который поставляется с Ubuntu 14.04, экспериментальный RAOP2, построенный с импульсом 4.0, и экспериментальный RAOP2, построенный с импульсом 5.0. mpd не будет работать ни с одним из них.

Мой файл mpd.conf является ванильным; секция импульсов является общей:

    audio_output { 
    type "pulse" 
    name "General Pulse" 
    }

Хотя, как предлагает laugeo, я также попытался указать отдельный приемник, как по имени:

audio_output {
    type        "pulse"
    name        "ROCKI"
    sink        "raop_output.ASAP1826T.local"
}

, так и по индексу # :

audio_output {
    type        "pulse"
    name        "ROCKI"
    sink        "4"
}

Что мне делать дальше? Может ли конфигурация pulseaudio работать в качестве справочной системы?

Это на Ubuntu 14.04, pulseaudio 4.0 (и 5.0), Music Player Daemon 0.18.7

Обновление: я нашел этот блог где блоггер Луиз, похоже, решил ту же самую (или очень похожую) проблему:

pulse_output: Не удалось включить «Розовый ROCKI» [pulse]: pa_context_connect () не удалось: соединение было отклонено

Я понял благодаря этому сообщению. MPD не смог найти уже запущенный экземпляр pulseaudio, поскольку переменная окружения XDG_RUNTIME_DIR не была установлена, и thet's там, где pulseaudio хранит свои файлы (сокет, процесс pid и т. Д.).

MPD, похоже, пытается создать новый процесс pulseaudio, как мой собственный пользователь, и он терпит неудачу, потому что он уже запущен. Я не мог понять, почему он не может просто использовать существующий экземпляр pulseaudio, не пытаясь создать новую.

Я понял благодаря этому сообщению.

[Сервис] Среда = XDG_RUNTIME_DIR = / run / user / 1000

MPD не смог найти уже запущенный экземпляр pulseaudio, поскольку переменная среды XDG_RUNTIME_DIR не была установлена, а thet там, где pulseaudio хранит свои файлы (сокет, процесс pid и т. д.). [!d22 ]

Я попробовал его решение:

[Service] Environment = XDG_RUNTIME_DIR = / run / user / 1000

создание нового файл /etc/systemd/system/mpd.service.d/fixenv.conf, содержащий:

1
задан 12 November 2014 в 22:33

2 ответа

Решение XDG_RUNTIME_DIR работало для меня, но нет необходимости создавать файл в / etc / systemd / system. Просто добавьте эту строку в /etc/init.d/mpd:

export XDG_RUNTIME_DIR=/run/user/1000

Я уже указал mpd для запуска в качестве собственного пользователя и группы «audio» в /etc/mpd.conf.

2
ответ дан 24 May 2018 в 02:14
  • 1
    Что такое «Решение XDG_RUNTIME_DIR»? – Karl Richter 23 June 2015 в 18:49
  • 2
    Это описано в вопросе, а также в моем ответе (немного отличается). – user13097 25 June 2015 в 12:34

В файле конфигурации MPD вы можете попытаться указать pulseaudio sink:

Чтобы отобразить импульсные звуковые сигналы, запустите эту команду в терминале: pactl list short sinks

Он выведет что-то вроде:

0   alsa_output.pci-0000_00_03.0.hdmi-stereo    module-alsa-card.c  s16le 2ch 44100Hz   IDLE
1   alsa_output.pci-0000_00_1b.0.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   RUNNING

Выберите свой основной приемник (второй в моем случае, потому что у меня нет звука HDMI) и скопируйте его имя в mpd.conf audio_output:

audio_output {[!d5 ]

    type                    "pulse"
    name                    "MPD PulseAudio Output"
   sink                    "alsa_output.pci-0000_00_1b.0.analog-stereo"

}

0
ответ дан 24 May 2018 в 02:14
  • 1
    Спасибо, но я уже пробовал, что и с именем, и с индексом # - не работал. Я не думаю, что разговор с mpd-pulse становится даже таким. Но спасибо за «кратковременные раковины списка pactl» " - Я использовал " pacmd list-sinks & quot ;; ваш гораздо более краткий. – Fred Hamilton 3 November 2014 в 19:48

Другие вопросы по тегам:

Похожие вопросы: