왜 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.