您的位置:首页 > 大数据 > 人工智能

每天学点儿树莓派(番外一)——AirPlay播放器

2015-10-22 23:13 489 查看
这两天手头暂时没有什么可以折腾的东西,公司里也比较忙。思来想去不如放下脚步写点儿树莓派好玩的东西。所以就搞了个番外篇,以后也会不定期的写几篇番外篇来介绍树莓派的各种好玩的用法。

AirPlay是苹果公司推出的一套无线音乐解决方案。现在我们手里的iPhone、iPad甚至是Apple Watch等设备还有电脑上的iTunes都支持AirPlay。但是支持AirPlay功能的音响设备都贵得要死,作为屌丝的我自然是感觉买那么贵的音响实在是不合算。前两天突发奇想,如果树莓派可以支持AirPlay的功能,那么不就可以让我享受一把无线音乐的自由自在了吗?于是谷歌了一下,发现还真有解决方案。

总起来说就是使用了一段Perl脚本来实现的功能,当然最终还是调用的C的程序。废话不多说,开始:

1.更新软件列表和软件

sudo apt-get update
sudo apt-get upgrade


2.安装各种必须的库

sudo apt-get install libao-dev libssl-dev
sudo apt-get install libcrypt-openssl-rsa-perl libio-socket-inet6-perl
sudo apt-get install libwww-perl avahi-utils libmodule-build-perl


3.安装Perl Net-SDP

sudo cpan
install Net::SDP


4.安装Shairport

git clone https://github.com/hendrikw82/shairport.git cd shairport
make


到此为止,所有需要的软件都已经安装好了,如果我们使用如下命令,就可以启动AirPlay服务器了。

./shairport.pl -a myPi


呃,当然,咱们不会就这么结束了,因为你会发现如果你把这条命令敲上去,服务是启动了,也能用了,但是SSH的终端却被程序阻塞了。此时一旦你关闭了SSH终端,那么shairport程序也会被关闭了。这显然不是我们想要的状态啊。

能够解决上述问题的方案就是把它设置成服务。

5.将Shairport设置成为系统服务

首先进入shairport文件夹,make install一下,然后把shairport.init.sample复制到/etc/init.d/目录下

cd shairport
sudo make install
sudo cp shairport.init.sample /etc/init.d/shairport


修改权限,顺道加个开机启动

cd /etc/init.d
sudo chmod a+x shairport
sudo update-rc.d shairport defaults


编辑shairport文件

sudo vim /etc/init.d/shirport


定位到
DAEMON_ARGS="-w $PIDFILE"
的那一行,并且修改成
DAEMON_ARGS="-w $PIDFILE -a myPi"
。保存退出。

6.启动服务

sudo service shairport start

打开你的iPhone的AirPlay,用你的音响来感受音乐吧~

7.让电脑和树莓派共享一套音响设备

话说我接在树莓派上的这套音响原来可是在电脑上用的啊,就这么给我霸占了,以后电脑用啥啊?来回拔来拔去的太麻烦了。于是上网查了查2进1出的音频源选择器,没想到还真有这种东西!后来想想实现一个也没什么,挺简单的。这里给出一个电路图,喜欢DIY的同学可以参考一下。



PS:据说不做成共地的话,可以有效避免串扰哟~

这里由于我手头的工具不是很齐全,就没折腾着再自己去焊个板子,直接在某宝买了个成品。哪天心情好拆开改装一下也好。

还有一点就是,不论是这个图还是我买的切换器都是用的开关来控制音源选择的,这在物联网时代来说有些low啊。感兴趣的同学可以考虑怎么把它设置成软切换的,或者干脆自动切换的。欢迎大家留言讨论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: