Anda dapat menggunakan modul mpd, pulseaudio dan raop2, jika perlu:
- mpd untuk mengelola daftar putar, perpustakaan, dll (
sudo apt-get install mpd
)
- pulseaudio untuk mengelola output audio: raop untuk AirPlay, atau perangkat output lain seperti jack analog, HDMI, layanan streaming http, dll (
sudo apt-get install pulseaudio
)
- modul raop2 untuk pulseaudio jika modul raop asli yang dibangun ke pulseaudio tidak berfungsi
Saya harus membuat pulseaudio dari sumber untuk mendapatkan versi terbaru dari modul RAOP untuk pulseaudio.
Inilah yang saya lakukan untuk membuatnya bekerja (mungkin mengeluh tentang paket yang hilang, hanya sudo apt-get install
mereka):
Instal MPD
sudo apt-get install mpd
Instal PulseAudio
Pilihan A: Anda memiliki perangkat AirPlay lama, atau Anda tidak perlu streaming UDP.
Lebih mudah tetapi kurang kompatibel.
sudo apt-get install pulseaudio
Pilihan B: Anda menginginkan kompatibilitas yang lebih baik, dan dukungan untuk streaming TCP dan UDP
Maka Anda memerlukan modul raop2 untuk pulseaudio, yang berarti membangun PA dari sumber.
Instal git jika Anda belum melakukannya, dan buat pulseaudio (lihat instruksi resmi ):
sudo apt-get install git intltool autoconf build-essential
cd
git clone https://github.com/hfujita/pulseaudio-raop2
cd pulseaudio-raop2
./bootstrap.sh
make
sudo make install
Pada pengaturan saya, saya harus symlink libpulse.so.0 secara manual:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo ln -s `cd;pwd`/pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0
atau, sesuai keinginan Anda:
cd ~/pulseaudio-raop2
sudo rm /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo mv pulseaudio-raop2/src/.libs/libpulse.so.0 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chown root.root /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
sudo chmod 744 /usr/lib/arm-linux-gnueabi/libpulse.so.0.16.2
Konfigurasikan semuanya
Pengaturan awal MPD
Sekarang kita perlu mengatur MPD:
sudo vi /etc/mpd.conf
Dalam file itu, tetapkan yang berikut ini:
music_directory "/path/to/your/music"
user "mpd"
bind_to_address "127.0.0.1"
bind_to_address "192.168.x.y"
bind_to_address "2a01:xzy....your IPv6 if you want"
Kita perlu mengedit output, tetapi kita perlu nama wastafel pulseaudio terlebih dahulu.
PulseAudio tenggelam
Avahi / zeroconf bagus untuk dimiliki karena akan memungkinkan penemuan perangkat AirPlay (melalui zeroconf / mDNS / Bonjour):
sudo apt-get install avahi
Sekarang kita dapat memulai pulseaudio dan mencoba memuat modul RAOP:
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
Inilah output pada pengaturan saya:
name: <raop_output.Freebox-Player.local>
name: <raop_output.Freebox-Server.local>
name: <raop_output.Freebox-Player.local.2>
name: <raop_output.Freebox-Server.local.2>
Anda perlu mengedit /etc/mpd.conf
lagi dan menambahkan output berikut:
audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
Tambahkan salah satu dari blok ini untuk setiap perangkat AirPlay yang ingin Anda alirkan musik.
Konfigurasi PulseAudio
Bagian terakhir adalah mengatur PA:
sudo vi /etc/pulse/client.conf
Uncomment autospawn = yes
, ini akan membuat pulseaudio memulai secara otomatis ketika dibutuhkan.
sudo vi /etc/pulse/default.pa
Tambahkan baris berikut di bagian bawah:
load-module module-raop-discover
Ini akan membuat pulseaudio memuat modul RAOP find ketika dimulai.
Langkah terakhir
Seharusnya berfungsi sekarang. Mulai MPD (hentikan dulu jika sedang berjalan):
sudo /etc/init.d/mpd start
Tunggu sebentar, dibutuhkan setidaknya 10-15 detik pada RasPI saya sebelum daemon dapat bekerja dengan baik.
Perbarui perpustakaan musik Anda (dan tunggu sampai selesai):
sudo apt-get install mpc
mpc update
Aktifkan output sesuka hati (berikut ini akan mencantumkan output MPD yang dikonfigurasi dan mengaktifkan yang pertama):
mpc outputs
mpc enable 1
Sekarang gunakan klien GKG favorit Anda untuk memutar musik. Saya menggunakan ncmpcpp
pada command-line, dan MPDroid di ponsel / tablet saya.
Penyelesaian masalah
Mulai mpd dalam verbose, pulseaudio dengan level logging maksimum, dan monitor log:
mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog
Cobalah untuk membuat pulseaudio bekerja lebih dulu. Cukup muat pulseaudio, muat modul RAOP find, daftarkan sink, atur wastafel default dan coba mainkan sesuatu:
paplay /usr/share/sounds/alsa/Front_Center.wav
Setelah pulseaudio berfungsi, coba dan buat MPD bekerja dengannya.