Bạn có thể sử dụng mô đun mpd, pulseaudio và raop2, nếu cần:
- mpd để quản lý danh sách phát, thư viện, v.v (
sudo apt-get install mpd
)
- pulseaudio để quản lý đầu ra âm thanh: raop cho AirPlay hoặc bất kỳ thiết bị đầu ra nào khác như giắc cắm analog, HDMI, dịch vụ truyền phát http, v.v (
sudo apt-get install pulseaudio
)
- mô-đun raop2 cho pulseaudio nếu mô-đun gốc ban đầu được tích hợp vào pulseaudio không hoạt động
Tôi đã phải xây dựng pulseaudio từ nguồn để có được phiên bản cập nhật của mô-đun RAOP cho pulseaudio.
Đây là những gì tôi đã làm để làm cho nó hoạt động (nó có thể phàn nàn về các gói bị thiếu, chỉ sudo apt-get install
chúng):
Cài đặt MPD
sudo apt-get install mpd
Cài đặt PulseAudio
Lựa chọn A: bạn có thiết bị AirPlay cũ hoặc bạn không cần phát trực tuyến UDP.
Nó dễ dàng hơn nhưng ít tương thích hơn.
sudo apt-get install pulseaudio
Lựa chọn B: bạn muốn tương thích tốt hơn và hỗ trợ cho cả truyền phát TCP và UDP
Sau đó, bạn cần mô-đun raop2 cho pulseaudio, có nghĩa là xây dựng PA từ nguồn.
Cài đặt git nếu bạn chưa có và xây dựng pulseaudio (xem hướng dẫn chính thức ):
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
Khi thiết lập, tôi phải liên kết sympulse.so.0 theo cách thủ công:
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
hoặc, theo sở thích của bạn:
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
Cấu hình mọi thứ
Thiết lập ban đầu MPD
Bây giờ chúng ta cần thiết lập MPD:
sudo vi /etc/mpd.conf
Trong tệp đó, đặt như sau:
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"
Chúng tôi sẽ cần chỉnh sửa đầu ra, nhưng trước tiên chúng tôi cần tên của bộ đệm pulseaudio.
Bồn rửa mặt PulseAudio
Avahi / zeroconf rất hay vì nó sẽ cho phép khám phá các thiết bị AirPlay (thông qua zeroconf / mDNS / Bonjour):
sudo apt-get install avahi
Bây giờ chúng ta có thể bắt đầu pulseaudio và thử tải các mô-đun RAOP:
pulseaudio --start --log-target=syslog -vvvv --log-level=debug
pacmd load-module module-raop-discover
pacmd list-sinks | grep name:
Đây là đầu ra trên thiết lập của tôi:
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>
Sau đó, bạn cần chỉnh sửa /etc/mpd.conf
lại và thêm các đầu ra sau:
audio_output {
type "pulse"
name "Freebox Player"
sink "raop_output.Freebox-Player.local"
format "44100:24:1"
}
Thêm một trong các khối này cho mọi thiết bị AirPlay mà bạn muốn truyền phát nhạc.
Cấu hình PulseAudio
Phần cuối cùng là thiết lập PA:
sudo vi /etc/pulse/client.conf
Không chú ý autospawn = yes
, điều này sẽ làm cho pulseaudio tự động khởi động khi cần thiết.
sudo vi /etc/pulse/default.pa
Thêm dòng sau ở dưới cùng:
load-module module-raop-discover
Điều này sẽ làm cho pulseaudio tải mô-đun khám phá RAOP khi nó được khởi động.
Bước cuối cùng
Nó nên được làm việc bây giờ. Bắt đầu MPD (dừng nó trước nếu nó đang chạy):
sudo /etc/init.d/mpd start
Đợi một chút, phải mất ít nhất 10 - 15 giây trên RasPI của tôi trước khi trình nền có thể hoạt động bình thường.
Cập nhật thư viện nhạc của bạn (và đợi nó kết thúc):
sudo apt-get install mpc
mpc update
Kích hoạt đầu ra theo ý muốn (sau đây sẽ liệt kê các đầu ra MPD được cấu hình và bật đầu ra đầu tiên):
mpc outputs
mpc enable 1
Bây giờ sử dụng ứng dụng khách MPD yêu thích của bạn để phát một số nhạc. Tôi đang sử dụng ncmpcpp
trên dòng lệnh và MPDroid trên điện thoại / máy tính bảng của mình.
Xử lý sự cố
Bắt đầu mpd trong verbose, pulseaudio với mức ghi nhật ký tối đa và nhật ký màn hình:
mpd --verbose
pulseaudio --start --log-target=syslog --log-level=debug -vvvv
tail -f /var/log/mpd/mpd.log
tail -f /var/log/syslog
Cố gắng làm cho pulseaudio hoạt động đầu tiên. Chỉ cần tải pulseaudio, tải mô-đun khám phá RAOP, liệt kê các bồn, thiết lập bồn rửa mặc định và thử chơi một cái gì đó:
paplay /usr/share/sounds/alsa/Front_Center.wav
Khi bạn có pulseaudio hoạt động, hãy thử và làm cho MPD hoạt động với nó.