本文首发于我的公众号: dark_forests,请扫描文章尾部的二维码直接关注,谢谢。
今早醒来想放首歌听下,没有蓝牙音箱也没有AirPlay设备的情况下,只能打开电脑或者将音箱连接到手机播放音乐。如此麻烦决定改造下落尘已久的树莓派,让其支持iOS的AirPlay的功能。
升级Raspberry Pi
1 | sudo apt-get update |
更改默认音频端口
默认情况下,Raspberry Pi的默认音频输出是HDMI, 我们需要先修改成普通的音频输出.
1 | sudo amixer cset numid=3 1 |
结果如下
安装依赖包
我们需要从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 | cd perl-net-sdp |
安装shairport
1 | git clone https://github.com/abrasive/shairport.git |
这时已经完成了安装,只需最后一步将Raspberry Pi设置为AirPlay Receiver. 我设置了一个名为Will’s Pi的AirPlay接收器
1 | ./shairport.pl -a "Will's Pi" |
现在你从iPhone的播放器可以找到该设备.
enjoy yourself.
设置开机启动服务
1 | cd shairport |
修改启动脚本的参数
1 | vim scripts/debian/init.d/shairport |
将DAEMON_ARGS中添加上-a WillPi,并将USER与GROUP都改为pi,否则没有用户执行该命令,会导致启动失败
将脚本copy到启动目录
1 | sudo cp scripts/debian/init.d/shairport /etc/init.d/ |
至此既可以完整使用Raspberry Pi来用作AirPlay播放音乐.