安装Airplay服务
以下的整个安装都是基于一个开源项目进行的,这是项目主页(https://github.com/juhovh/shairplay)。

其中给出了详细的安装方法。
安装依赖环境
通过SSH登录树莓派,分别执行如下命令
1 2 3
| sudo apt-get install autoconf automake libtool sudo apt-get install libltdl-dev libao-dev libavahi-compat-libdnssd-dev sudo apt-get install avahi-daemon
|
从GitHub上获取源码
1
| git clone https://github.com/juhovh/shairplay.git
|
编译和安装
进入对应的目录
依次执行如下四条指令,进行代码的编译和安装
1 2 3 4
| ./autogen.sh ./configure make sudo make install
|
启动
进入软件的当前目录 /home/pi/shairplay 。执行如下命令即可开启服务
1
| shairplay -a your_AirPlay_Name
|
此时ios设备或者Mac设备连接在同一个Wifi下,便可看到支持AirPlay的设备,名称就是your_AirPlay_Name。点击连接后,苹果设备的音频信号就通过Wifi传输到树莓派的3.5mm音频口。这里可以接入音响的信号输入口。

完善
为了使树莓派每次上电后可以自动开启AirPlay服务。需要配置自启动,另外消除噪声。
自启动
创建启动脚本文件
依次执行如下命令,建立一个启动脚本文件。
1 2 3
| cd /etc/init.d/ sudo touch shairplay sudo vim shairplay
|
在其中复制一下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| #!/bin/bash # # This starts and stops shairplay # ### BEGIN INIT INFO # Provides: shairplay # Required-Start: $network # Required-Stop: # Short-Description: Free portable AirPlay server implementation similar to ShairPort. # Description: Free portable AirPlay server implementation similar to ShairPort. # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO # Source function library. . /lib/lsb/init-functions DAEMON="/usr/local/bin/shairplay" DAEMON_ARGS="-a your_AirPlay_Name" AIRPORT_KEY_DIR="/usr/local/share/shairplay" [ -x $binary ] || exit 0 RETVAL=0 start() { echo -n "Starting shairplay: " start-stop-daemon --start --quiet --chdir $AIRPORT_KEY_DIR \ --exec "$DAEMON" -b --oknodo -- $DAEMON_ARGS log_end_msg $? } stop() { echo -n "Shutting down shairplay: " start-stop-daemon --stop --quiet --exec "$DAEMON" \ --retry 1 --oknodo log_end_msg $? } restart() { stop sleep 1 start } case "$1" in start) start ;; stop) stop ;; status) status shairplay ;; restart) restart ;; *) echo "Usage: $0 {start|stop|status|restart}" ;; esac exit 0
|
其中刚才的脚本文件中的DAEMON_ARGS="-a your_AirPlay_Name"可以设置自己的名字。
1 2 3
| DAEMON="/usr/local/bin/shairplay" DAEMON_ARGS="-a your_AirPlay_Name" AIRPORT_KEY_DIR="/usr/local/share/shairplay"
|
之后通过:wq!保存更改, :q!退出编辑器。
加入执行权限
依次执行如下命令。赋予脚本执行权限,并且更新配置信息。
1 2
| sudo chmod +x /etc/init.d/shairplay sudo update-rc.d shairplay defaults
|
执行如下命令,切换到用户目录
依次执行如下命令,拷贝airport.key
1 2
| mkdir /usr/local/share/shairplay cp shairplay/airport.key /usr/local/share/shairplay
|
输入一下命令,在etc/rc.local中添加内容
添加的内容如下(在exit 0之前)。
1 2 3 4 5 6
| # Don't run multiple instances - start just one screen, named "shairplay": [[ $(screen -list | grep shairplay) == '' ]] && screen -dmS shairplay sh # Keep shairplay perpetually running. When it crashes, we can just SIGKILL it, and it comes back: [[ $(ps aux | grep -v grep | grep pts | grep '/usr/bin/shairplay') == '' ]] && screen -S shairplay -p 0 -X stuff "while true; do /usr/bin/shairplay --apname=Airamaplay --ao_devicename=default; sleep 2s; done
|
之后通过:wq!保存更改, :q!退出编辑器。
之后通过重启树莓派,就直接可以在苹果设备中选择AirPlay服务了。
消除噪音
如果音响输出有噪声,可以尝试树莓派Audio的pwm模式。
执行如下命令
1
| sudo vim /boot/config.txt
|
在最后增加如下配置参数
1 2
| dtparam=audio=on audio_pwm_mode=2
|
之后通过CTRL+O 保存更改, CTRL+退出编辑器。
调整声音命令