0%

【黑科技】树莓派变身AirPlay无线音乐播放器

本文首发于我的公众号: dark_forests,请扫描文章尾部的二维码直接关注,谢谢。

今早醒来想放首歌听下,没有蓝牙音箱也没有AirPlay设备的情况下,只能打开电脑或者将音箱连接到手机播放音乐。如此麻烦决定改造下落尘已久的树莓派,让其支持iOS的AirPlay的功能。

升级Raspberry Pi
1
2
sudo apt-get update
sudo apt-get upgrade
更改默认音频端口

默认情况下,Raspberry Pi的默认音频输出是HDMI, 我们需要先修改成普通的音频输出.

1
sudo amixer cset numid=3 1

结果如下
set audio

安装依赖包

我们需要从github clone project, 所以需要安装git\openssl等相关依赖

1
sudo apt-get install git libao-dev libssl-dev libcrypt-openssl-rsa-perl libio-socket-inet6-perl libwww-perl avahi-utils libmodule-build-perl
安装Perl Net-SDP

从iOS6开始,AirPlay的使用的协议为SDP, Perl Net-SDP使用该协议来与AirPlay通讯

1
git clone https://github.com/njh/perl-net-sdp.git

然后安装

1
2
3
4
5
6
cd perl-net-sdp
perl Build.PL
sudo ./Build
sudo ./Build test
sudo ./Build install
cd ..
安装shairport
1
2
3
git clone https://github.com/abrasive/shairport.git
cd shairport
./configure && make

这时已经完成了安装,只需最后一步将Raspberry Pi设置为AirPlay Receiver. 我设置了一个名为Will’s Pi的AirPlay接收器

1
./shairport.pl -a "Will's Pi"

airplay with iphone
现在你从iPhone的播放器可以找到该设备.
airplay with iphone
enjoy yourself.

设置开机启动服务
1
2
cd shairport
sudo make install

修改启动脚本的参数

1
vim scripts/debian/init.d/shairport

将DAEMON_ARGS中添加上-a WillPi,并将USER与GROUP都改为pi,否则没有用户执行该命令,会导致启动失败

将脚本copy到启动目录

1
2
3
4
sudo cp scripts/debian/init.d/shairport /etc/init.d/
sudo service shairport stop
sudo service shairport start
sudo service shairport status

至此既可以完整使用Raspberry Pi来用作AirPlay播放音乐.
start daemon

欢迎关注我的公众号
![欢迎关注我的公众号](../images/qrcode.jpg)