왜 mpd 서버가 어떤 소리도 출력하지 않습니까?


2

나는 달리고있다. MPD 서버 우분투 12.04.3에. 모두 우분투 11.10과 12.04 이전 버전에서도 작동했습니다. 나는 프론트 엔드로서 소나타를 사용하고 있으며 연결되어 있고, 재생 목록을 사용할 수 있으며, 노래를 선택하고, 재생할 수 있습니다. 오디오 출력은 제외됩니다. 사운드 시스템은 펄스 오디오를 기반으로합니다.

MPD는 꽤 좋은 Wiki와 펄스 오디오 구성 너무 덮여있다. 내 문제를 디버그하려고했지만 여전히 작동하지 않았다.

내가 가진거야? 나는 가지고있다:

  • 시작된 펄스 오디오로 작업하는 mpd 데몬,

    $ ps aux | grep -i mpd
    mpd      13770  3.9  5.4 144500 13636 ?        Ssl  Sep13 331:18 /usr/bin/mpd /etc/mpd.conf
    mpd      13778  1.4  1.0  88516  2532 ?        Sl   Sep13 119:21 /usr/bin/pulseaudio --start --log-target=syslog
    
  • /etc/mpd.conf에 내가 가지고있다.

    audio_output {
            type            "pulse"
            name            "MPD PulseAudio Output"
            # sink      your-sink-name-here"
    }
    
  • /etc/pulse/client.conf에 있습니다. autospawn을 활성화했습니다 (기본값은?).

    autospawn = yes
    
  • /var/log/mpd/mpd.log에 재생 된 노래가 있습니다.

  • 사용자 "mpd" 나는 mplayer와 음악을 재생할 수 있습니다. 펄스 오디오와 잘 작동합니다.

나는 캔트 도망

  • 일반 사용자 또는 mpd에서 싱크 목록 :

    $ pacmd list-sinks
    No PulseAudio daemon running, or not running as session daemon.
    
  • mpd-server의 모든 사운드

syslog에서 펄스가 d-bus에 연결할 수 없다는 것을 알 수 있습니다 :

    Sep 19 20:43:23 musa pulseaudio[787]: [pulseaudio] module-always-sink.c: Unable to load module-null-sink
    Sep 19 20:43:54 musa pulseaudio[1098]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    Sep 19 20:43:54 musa pulseaudio[1098]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

mpd를 다시 작동시키는 방법?


mpd에게 어떤 pulseaudio 싱크를 사용할지를 알려주거나 pulseaudio를 기본 설정으로 올바른 싱크를 사용하도록 알려줄 필요가있는 것 같습니다. pulseaudio가 모듈 널 널 싱크를로드하려고 시도하는 동안 오류가 발생했지만이 싱크대가 성공하더라도 자동으로 오디오 데이터가 버려지므로 원하는 것은 아닙니다. 다음의 결과는 무엇입니까? pacmd list-sinks?
wingedsubmariner

@wingedsubmariner : 예, 이것이 문제 일 수 있지만, a) pacmd list-sinks 내 게시에 있고 b) mplayer는 일반 사용자 및 mpd 사용자에서도 잘 작동합니다. D-BUS에 연결하는 데 문제가 있음을 확인했습니다.
wk.

아치 리눅스에서 정확히 같은 문제가 있습니다. pulseaudio 프로세스가 실행 중이고 Kodi가 사운드를 출력 할 수 있지만 mpd는 작동하지 않으며 싱크 목록을 가져올 수 없습니다.
Budric

답변:


1

우분투가 아닌 Archlinux를 사용하고 있지만 동일한 문제가있었습니다. 분명히 pacmd list-sink가 작동하지 않는 이유는 분명히 환경 DISPLAY를 설정해야하기 때문입니다 ( 포럼 토론 ). 사용자를 위해 이것을 설정하면 싱크 목록을 얻을 수 있습니다. mpd를 내 사용자로 시작하고 Environment = "DISPLAY = : 0"으로 설정하기 위해 systemd mpd.service를 재구성했습니다.

불행하게도 이것은 사용자가 X 세션에 로그인해야하고 시스템에 xorg가 설치되어 있음을 의미합니다. 필자는 PulseAudio를 전체 시스템의 데몬으로 실행할 수 있도록 재구성 할 수 있지만 가능한 보안 문제가 있다고 생각합니다 ( 이 광고문을 제외하고 나는 그들이 무엇인지 구체적으로 알지 못한다. )


나를 위해 Alsa로 되돌아가는 해결책이 있었다. 그러나 귀하의 솔루션이 데스크톱에서 mpd를 실행하는 사람들에게 도움이되기를 바랍니다. 서버의 경우 X를 사용하지 않습니다.
wk.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.