这两天手头暂时没有什么可以折腾的东西,公司里也比较忙。思来想去不如放下脚步写点儿树莓派好玩的东西。所以就搞了个番外篇,以后也会不定期的写几篇番外篇来介绍树莓派的各种好玩的用法。
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啊。感兴趣的同学可以考虑怎么把它设置成软切换的,或者干脆自动切换的。欢迎大家留言讨论!

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

  1. 动手学深度学习番外篇 01.为什么from d2l import torch as d2l

    动手学深度学习番外篇 01.为什么from d2l import torch as d2l 在跟着网站动手学深度学习学习的时候,发现代码开头中经常要运行这样一句话 from d2l import to ...

  2. 通过游戏编程学Python(番外篇)— 单词小测验

    通过游戏编程学Python 通过游戏编程学Python(6)- 英汉词典.背单词 通过游戏编程学Python(番外篇)- 乱序成语.猜单词 通过游戏编程学Python(5)- 猜成语(下) 通过游戏编 ...

  3. html 音乐 QQ播放器 外链 代码 播放器 外链 代码

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha QQ播放器 外链 代码 播放器 外链 代码 ======== 歌曲链接 QQ播放器 外链 ...

  4. 使用树莓派3B+开发智能音乐播放器

    使用树莓派3B+开发智能音乐播放器 2018年07月03日 21:25:13 qq_42044484 阅读数:2397 一.功能描述 对麦克风说出歌名后,树莓派自动下载对应歌曲的MP3,默认播放搜索到 ...

  5. 树莓派html5播放器,QT+树莓派实现一个简单的播放器

    说起树莓派,买了也有一段时间了,但是始终都没有做出什么好玩的设备出来,恰好最近在学C++,看到树莓派放在墙角吃了一年多灰,为何不利用它来学一下编程呢? 先给我的工作台来个特写: 说干就干,在经历了一番 ...

  6. 树莓派-微信-网易云音乐播放器

    发现一个很好的个人微信框架ItChat,基于Python实现了网页版微信的大部分功能,正好手头上有个闲置的树莓派,就做了个简易的音乐播放器,源码及使用教程都放在Github上了,猛戳这里,欢迎大家st ...

  7. 教你用树莓派Python打造一个音乐播放器

    买了个树莓派3B+,装好系统后灰落了好厚一层都不知道要干嘛...最近突发奇想:用树莓派做一个音乐播放器,每天6:30-7:20自动播放英语听力,强迫自己练习英语,也治治自己的懒床习惯,平时也可以用来听 ...

  8. 树莓派3B qt+mplayer制作音乐播放器(10)

    内容 树莓派3B qt+mplayer制作音乐播放器:播放.暂停.上一曲.下一曲,音量调节. 平台:树莓派+qt+mplayer 1.配置 qt安装见此: https://blog.csdn.net/ ...

  9. 从0.1开始学Python——[6](番外练习)

    从0.1开始学Python--[6](番外练习) 小练习,写了一个用于记录自己使用的常用英雄信息的小程序. print('-'*20, '欢迎来到英雄联盟', '-'*20)heros = ['\t离 ...

最新文章

  1. Android 自定义View —— Path
  2. 马斯克发首款会上火星的电动皮卡:28万起,可防弹,造型相当“赛博朋克”...
  3. linux上如何主指定的静态路由永久有效
  4. 招募 | 《大数据实践课》课程实践企业合作项目
  5. Flutter开发之ListView使用第三方pull_to_refresh加载更多(36)
  6. Ollydbg 编写脚本的一些语法及例子(OD脚本)
  7. Java 条件解析,Java Lambda使用条件检查解析集合
  8. 什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么
  9. 一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限...
  10. 淘宝2011.9.21校园招聘会笔试题
  11. 2017计算机软件,2017年计算机防病毒软件排名全面保护PC安全!
  12. unity实现图片轮播效果_Unity3D实现列表拖拽轮播分页滚动功能
  13. 10.1-控制单元CU的组合逻辑设计
  14. VMware打开虚拟机黑屏
  15. oracle 查看数据库性能,oracle 11G使用statspack查看数据库的性能
  16. echart的关系图高亮_Echarts 环形图 默认高亮展示某个数据
  17. C语言中的类模拟(C++编程思想)
  18. 在线拍卖系统代码_来了来了,轻工业领域拍卖的福利来啦!聚拍网终于扩展新范围啦...
  19. 拓端tecdat|R语言对股票风险“溃疡指数”( Ulcer Index)曲面图可视化
  20. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节...

热门文章

  1. 在CLion中构建Windows内核WDM驱动
  2. 限流算法漏桶算法和令牌桶算法
  3. arduino编码器计数_几根线做的Arduino液晶屏旋转编码器带你进入数字化编程之旅...
  4. 用STATECAD快速设计有限状态机
  5. Linux more 命令用法详解
  6. linux学习记录-coredump segment fault
  7. 微信连Wi-Fi专业设备列表
  8. 数据压缩第八周作业——MPEG编码器
  9. Win10下Docker创建Centos容器SSH远程登录的镜像
  10. 建立自己的计算机语言