์ด๊ฒ์ด ๋ชจํผ ๋ฌธ์ ์ธ์ง ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ค๋ mopidy๋ฅผ ์ค์นํ๊ณ ์์
์ ์ฌ์ํ์ต๋๋ค. ๋ด๊ฐ ๋ณผ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋ YouTube ๋์์์ ๋ณด๊ณ ์ถ์์ต๋๋ค. mopidy๋ฅผ ์ฃฝ์์ ๋ ๊ฐ์๊ธฐ ๋ค์ ์๋ํ์ต๋๋ค.
์ ๋ ์์น๋ฆฌ๋
์ค๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฌธ์ ๋ ์ ๊ณต๋ .service ํ์ผ์ ์ฌ์ฉํ๊ณ systemd๋ฅผ ์ฌ์ฉํ์ฌ ์์ํ ๋๋ง ๋ฐ์ํฉ๋๋ค. ํฐ๋ฏธ๋์์ ์์ํ ๋ ์ ์๋ํฉ๋๋ค.
๋๋ ์ ์ด๋ ํ ๋ช
์ ๋ค๋ฅธ ์ฌ๋์ด ์ฌ๊ธฐ์ ์ด ๋ฌธ์ ๋ฅผ ๋ฌธ์ํํ๊ฑฐ๋ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ
์ด๊ฒ์ archlinux(systemd) ๋ฌธ์ ์
๋๊น ์๋๋ฉด mopidy ๋ฌธ์ ์
๋๊น?
ํ์ค์ค๋์ค๋ฅผ ์ฌ์ฉ ์ค์ด์ ๊ฐ์?
๋ค
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์ ๋ํ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค. ๋ํ ์ฌ๋ฐ๋ฅธ pulseaudio ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด mopidy๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด mopidy ๊ตฌ์ฑ์ ๋ค์์ ์ ๋ ฅํ์ญ์์ค.
[audio]
output = pulsesink server=127.0.0.1
์๊ฐ์ด ๋๋ ๋๋ก ์๋ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋๋ ์ง๋ฌธ์ด ์์ต๋๋ค. systemd(๋ด ์ฌ์ฉ์๋ก)๋ฅผ ์ฌ์ฉํ์ฌ mopidy๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ช
๋ น์ค์์ ์ง์ ์์ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๊ฐ์ ์ฌ์ฉ์๊ฐ pulseaudio์ ์ก์ธ์คํ๊ณ ์์ง ์์ต๋๊น?
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ถ๋ช
ํ ์ด๋๊ฐ์ ๋ฌธ์ํ๋์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค ...
๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ์ต๋๋ค.
์ฌ๊ธฐ์ ๋ก์ปฌ ์ฌ์ฉ์๋ก ์คํํ๊ธฐ ์ํ ์์คํ
์๋น์ค ํ์ผ์ด
์ด ํ์ผ์ ์ฌ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ถ๊ฐํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
๋ฉ์ง๋ค์. ๋ซ๊ณ ๋๊ตฐ๊ฐ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๋ฌธ์์ ๋ญ๊ฐ๋ฅผ ์ถ๊ฐํด์ผ ํ๋ค๋ฉด ๋ค์ ์ด์ด์ฃผ์ธ์.
๋ ์์ ์๊ฒ๋ ์ด ๋ฌธ์ ๊ฐ ์์์ง๋ง ๊ทธ ๋ฐ๋์์ต๋๋ค. ๋ชจํผ๋๋ ์๋ฌด๋ฆฌ ์๋ฆฌ๋ฅผ ๊ตฌ์ฑํด๋ ์ฌ์์ด ์๋๋ ๊ฒ ๊ฐ์์ต๋๋ค. ์ด ์๋ฃจ์ ์ ๋ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ๋ด ๋ก๊ทธ์์ ๋ฐ๊ฒฌํ ์ค๋ฅ๋ฅผ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ์ผ๋ฐ ์ถ๋ ฅ์์ โโ๊ฐ์ ธ์จ ๊ฒ์ ๋๋ค.
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
to 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 Wiki์์ ํธ๋ฆญ์ ์ฐพ์์ง๋ง ํ์ค ์ฑํฌ๋ฅผ ์ ๋๋ก ๊ตฌ์ฑํ ์ ์์์ต๋๋ค. (์ค์ ๋ก ์ด์ ๋ํ ํฌ๊ด์ ์ธ ๋ฌธ์๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.)
@trygveaa ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ํ์ค ์ค๋์ค๋ฅผ mopidy์ ํจ๊ป ์๋์ํค๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ๋๋ ๋น์ ์ ์กฐ์ธ์ ๋ฐ๋๊ณ ์ด์ ๋ง์นจ๋ด ์๋ํฉ๋๋ค!!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
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์ ๋ํ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค. ๋ํ ์ฌ๋ฐ๋ฅธ pulseaudio ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด mopidy๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด mopidy ๊ตฌ์ฑ์ ๋ค์์ ์ ๋ ฅํ์ญ์์ค.