펄스오디오를 갖춘 MPD

펄스오디오를 갖춘 MPD

최근 Ubuntu 14.10을 새로 설치했는데 다시 한번 MPD에 문제가 생겼습니다. 지난번에 문제를 해결할 수 있었던 것 같은데, 어떻게 했는지 잘 모르겠습니다.

내 문제는 MPD와 함께 외부 블루투스 스피커를 사용할 수 있다는 것입니다. 더 좋은 점은 플러그와 블루투스 스피커를 동시에 사용할 수 있다는 것입니다.

안타깝게도 MPD는 Gnome 오디오 설정에서 오디오를 생성하는 애플리케이션에 표시되지 않으므로 블루투스 스피커를 사용하라는 내 지시를 무시합니다. MPD가 Pulseaudio 대신 Alsa를 사용하고 있기 때문인 것 같습니다.

이제 mpd.conf에 다음 줄이 있습니다.

audio_output {
    type        "pulse"
    name        "MPD"
#   server      "localhost"
}

또한 서버 라인을 분해하려고 시도했지만 이 경우 MPD가 시작되지도 않습니다.

mpd명확히 말하면 MPD는 그룹 pulse및 아래에 있는 사용자로 실행되고 있지만 pulse-access이것만으로는 충분하지 않은 것 같습니다.

이제 나는 내 사용자로 MPD를 실행할 수 있다고 믿으며 이로 인해 일부 문제가 해결될 수 있지만 이 PC의 다른 사용자도 음악을 듣고 싶어할 수 있으므로 그렇게 하지 않는 것이 좋습니다.

MPD가 Pulseaudio를 사용하도록 하는 올바른 방법은 무엇입니까(또는 기본 스피커가 아닌 다른 스피커에 연결하는 데 필요한 모든 작업을 수행합니까?)

답변1

시스템 와이드 모드의 MPD와 달리 PulseAudio는 사용자 공간에서 실행됩니다. 즉, Bluetooth 검색 및 Bluetooth 오디오 싱크 제공을 포함한 모든 펄스 오디오 설정이 사용자 세션에서 수행됩니다.

MPD 데몬은 시스템 전체에서 실행될 때 사용자 세션에서 실행되는 Pulse Audio 장치에 액세스할 수 없습니다. 이론상으로는 시스템 와이드 모드에서 Pulse Audio를 실행하는 것이 가능하므로 이는 다음과 같습니다.권장하지 않음, 적어도 데스크톱 설정에서는 그렇게 해서는 안 됩니다. 그러면 사용자 공간에서 MPD를 실행하는 것이 훨씬 더 나은 옵션이 될 것입니다.

실행 중인 PulseAudio 서버가 장치를 계속 사용할 수 있도록 하기 위해 PulseAudio와 MPD의 TCP 스트리밍 기능을 모두 사용합니다.

이를 위해서는 다음이 필요합니다 /etc/mpd.conf.

audio_output {
       type     "pulse"
       name     "My PULSE Device"
       server   "localhost"
}

그런 다음 실행 중인 PulseAudio 서버로 스트리밍하기 위해 TCP 프로토콜도 로드해야 합니다. 이는 /etc/pulse/default.pa사용자가 로그인할 때마다 로드되도록(또는 테스트를 위해 CLI에서 시작 ) 추가될 수 있습니다 pacmd load-module.

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 # IP of localhost

부인 성명:이는 Bluetooth 오디오 장치로 전환하는 데 작동하지만 Bluetooth 동글이 14.10 테스트 시스템에 문제가 있기 때문에 이를 테스트할 수 없습니다.

답변2

@Takkat이 제안한 솔루션도 약간 수정하면 저에게 효과적이었습니다.

Debian Buster에서는 mpd.conf 옵션 localhost으로 바꿔야 했는데 mpd가 IPv6 주소로 연결을 시도했지만 다음과 같이 실패했습니다.127.0.0.1server::1

ERROR: Failed to open "My PULSE Device" [pulse]; failed to connect: Access denied

(댓글 대신 답변을 드려 죄송합니다. 저는 여기에 처음 왔으며 아직 댓글을 달 수 있는 포인트가 충분하지 않습니다. 누군가가 이 메시지를 이동하거나 삭제해도 문제가 되지 않습니다.)

관련 정보