Mopidy: нет другого звука, когда играет mopidy

Созданный на 3 февр. 2015  ·  9Комментарии  ·  Источник: mopidy/mopidy

Я не знаю, беспорядок это или нет.
Установил сегодня мопид и играл музыку. Я хотел посмотреть видео на YouTube, но заметил, что не могу. Когда я убил mopidy, он вдруг снова заработал.
Я использую Archlinux. Проблема возникает только тогда, когда я использую предоставленный файл .service и запускаю его с помощью systemd. При запуске в терминале работает нормально.
Я знаю, что по крайней мере у одного человека была / есть эта проблема, задокументированная здесь
Это проблема с Archlinux (systemd) или непростая?

Самый полезный комментарий

Pulseaudio не позволяет одному пользователю воспроизводить звук через сервер Pulseaudio другого пользователя. Если pulseaudio не запускается при загрузке, первое приложение, пытающееся воспроизвести звук, запускает его автоматически. Итак, если вы сначала поиграете с mopidy, pulseaudio будет запущен как пользователь mopidy, и вы не сможете воспроизводить звук как обычный пользователь.

Решение, позволяющее нескольким пользователям воспроизводить звук, задокументировано здесь:
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Local_.28with_separate_mpd_user.29

Это для mpd, поэтому вы можете игнорировать часть о mpd.conf. Конфигурация для pulseaudio - это то, что нужно. Кроме того, вам необходимо настроить mopidy для использования правильного сервера pulseaudio. Для этого поместите это в конфигурацию вашего mopidy:

[audio]
output = pulsesink server=127.0.0.1

Все 9 Комментарий

Вы используете pulseaudio?

да

Pulseaudio не позволяет одному пользователю воспроизводить звук через сервер Pulseaudio другого пользователя. Если pulseaudio не запускается при загрузке, первое приложение, пытающееся воспроизвести звук, запускает его автоматически. Итак, если вы сначала поиграете с mopidy, pulseaudio будет запущен как пользователь mopidy, и вы не сможете воспроизводить звук как обычный пользователь.

Решение, позволяющее нескольким пользователям воспроизводить звук, задокументировано здесь:
https://wiki.archlinux.org/index.php/Music_Player_Daemon/Tips_and_tricks#Local_.28with_separate_mpd_user.29

Это для mpd, поэтому вы можете игнорировать часть о mpd.conf. Конфигурация для pulseaudio - это то, что нужно. Кроме того, вам необходимо настроить mopidy для использования правильного сервера pulseaudio. Для этого поместите это в конфигурацию вашего mopidy:

[audio]
output = pulsesink server=127.0.0.1

Я попробую это сделать, как только у меня будет время.
Но у меня все еще есть вопрос. Почему у меня возникает проблема, если я запускаю mopidy с помощью systemd (как мой пользователь), но не запускаю его сам из командной строки? Разве тот же пользователь не обращается к PulseAudio?
И я думаю, что это обязательно нужно где-то задокументировать ...

Решил по-другому.
Существует файл Systemd сервис для запуска его в качестве локального пользователя здесь
У меня нет проблем с использованием этого файла. Вы можете добавить его сюда.

Круто, закрываю это, и если кто-то что-то добавит в документацию по этому поводу, пожалуйста, снова откройте.

У меня была такая проблема, но наоборот. Mopidy, похоже, не мог играть, как бы я ни настраивал звук. Чтобы упростить поиск этого решения, я опубликую ошибки, которые обнаружил в своих журналах.

Это из обычного вывода:

ERROR    GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. Debug message: gstplaysink.c(2758): gen_audio_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink

С помощью -vvv для отладки mopedy и gstreamer я обнаружил следующие ошибки:

WARN                    alsa pcm_hw.c:1557:snd_pcm_hw_open: alsalib error: open '/dev/snd/pcmC1D0p' failed (-2): No such file or directory
WARN                    alsa pcm_dmix.c:1022:snd_pcm_dmix_open: alsalib error: unable to open slave
WARN                    alsa gstalsasink.c:765:gst_alsasink_open:<alsasink0> error: Could not open audio device for playback.
WARN                    alsa gstalsasink.c:765:gst_alsasink_open:<alsasink0> error: Playback open error on device 'default': No such file or directory

ERROR    2015-02-22 18:26:47,673 [3135:MainThread] mopidy.audio.actor
GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. Debug message: gstplaysink.c(2758): gen_audio_chain (): /GstPlayBin2:playbin20/GstPlaySink:playsink

Некоторые из этих ошибок могли возникнуть из-за того, что я неправильно настроил вещи, но, надеюсь, они кому-то помогут.

Большое спасибо, trygveaa! Я нашел уловку в вики Arch, но мне не удалось правильно настроить импульсный приемник. (На самом деле, похоже, что по этому поводу нет исчерпывающей документации.)

@trygveaa Я вам очень благодарен. Я не мог найти способ заставить pulseaudio работать с mopidy. Я последовал твоему совету, и теперь он наконец работает !!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги