CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 22522|回复: 18

Cubieboard变苹果无线airplay音响

[复制链接]
发表于 2013-5-17 12:55:40 | 显示全部楼层 |阅读模式
本帖最后由 tll 于 2013-7-18 23:12 编辑

大家应该知道苹果的airplay技术吧,这个技术是把音乐或视频图像等东西传到和苹果有签约音响或者AppleTV上,今天的一次突发奇想,让我写出了这篇教程。今天我突然想到为什么不能把音响和Cubieboard连接在一起,变成苹果Airplay音响呢?果然,我真搜到了一个程序并且把它改编了一下做成了自己的air服务端程序,现在给大家安装和使用的教程
首先我们需要用到一个叫air的程序,安装方法:

  1. wget http://cb.tonylianlong.com/usr/uploads/2013/05/1334066771.zip -O air.zip
  2. unzip air.zip
  3. chmod +x air.sh
  4. ./air.sh --install
复制代码
这个程序是airplay的第三方服务端程序,是sharport(airiTunes的一个接收软件)改编而成。
安装完后直接输入air命令来启动air程序
此时开苹果设备,你会发现后台的更改音量的那栏多了一个按钮,按下后有个airplay的名字叫TonyAIR,这就是咱们弄airplay的cb了
IMG_0174.PNG
按下后跳出菜单,选择TonyAIR
IMG_0175.PNG
然后我打开QQ音乐程序随便点了首歌,没几秒钟音乐就从cb里出来了。
IMG_0176.PNG
如果觉得TonyAIR这个airplay的名字难听,可以在启动时输入: air (你想要的名字) 来用你自己想要的名字
改音乐输出可以用:http://cn.cubieboard.org/forum.php?mod=viewthread&tid=191里面的方法来调整为板载输出(音乐是上面那个,麦克风是背面的)
如果要真的弄airplay音响,那就必须开机启动这个程序,把air命令添加到/etc/rc.local里就好了(试过可用,不过结尾需要一个“&”号让他后台运行)
经测试,没有任何卡顿现象!另外说下,停止播放时会有几秒延迟。
以下是安装shell的代码,外加注解(文件里没有):
  1. #!/bin/bash
  2. #强制用bash开,默认的dash兼容上有点问题
  3. if [ `whoami` == "root" ] ; then
  4. #判断用户是不是root
  5. if [ "$1"x == "--install"x ] || [ "$1"x == "-i"x ] ; then
  6. #判断输入的第一个参数是不是--install or -i
  7. echo "Try to install it"
  8. echo ""
  9. echo "REFREASHing APT"
  10. #三个输出
  11. apt-get update
  12. apt-get upgrade -y
  13. #更新软件源
  14. echo "INSTALLing software from APT"
  15. apt-get install wget build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config git -y
  16. #安装软件
  17. echo "copy Perl Plugin from GIT"
  18. git clone https://github.com/njh/perl-net-sdp.git /tmp/perlnet
  19. #取得一个perl的联网插件
  20. echo "Building"
  21. cd /tmp/perlnet
  22. perl /tmp/perlnet/Build.PL
  23. /tmp/perlnet/Build
  24. /tmp/perlnet/Build test
  25. /tmp/perlnet/Build install
  26. #Build和安装程序
  27. mkdir /usr/air
  28. echo "Downloading File.."
  29. wget http://cb.tonylianlong.com/usr/uploads/2013/05/2971708022.zip -O /usr/air/air.zip
  30. #从我的服务器下载文件,文件是我编译好的
  31. echo "Unzipping"
  32. unzip /usr/air/air.zip -d /usr/air
  33. #解压文件
  34. touch /bin/air
  35. echo "#!/bin/bash" > /bin/air
  36. echo "if [ "\$1"x == ""x ]; then" >> /bin/air
  37. #判断有没有输入第一个参数
  38. echo "/usr/air/start.pl -a TonyAIR" >> /bin/air
  39. echo "else" >> /bin/air
  40. echo "/usr/air/start.pl -a \$1" >> /bin/air
  41. echo "fi" >> /bin/air
  42. chmod +x /bin/air
  43. #权限
  44. echo "OK,filished!"
  45. echo ""
  46. #创建air程序
  47. echo "RE-run this file (or just run "air") and not use --install or -i to run Air"
  48. else
  49. if [ ! -f "/bin/air" ]; then
  50. #如果不存在
  51. echo "Air is not installed,try to use --install or -i to install it"
  52. else
  53. /bin/air
  54. #启动
  55. echo "End!"
  56. fi
  57. fi
  58. else
  59. echo "You are not using "root" user!"
  60. echo "You are using "`whoami`" user!"
  61. #输出用户名,并且说不是root
  62. fi
复制代码

评分

参与人数 2威望 +20 金钱 +20 贡献 +20 收起 理由
cubieplayer + 10 + 10 + 10 赞一个!
cubieboard + 10 + 10 + 10 改进一下,写清楚。

查看全部评分

回复

使用道具 举报

发表于 2013-5-17 13:44:40 | 显示全部楼层
不错,周末有时间我也试试
回复 支持 反对

使用道具 举报

发表于 2013-5-18 00:13:24 | 显示全部楼层
学习了~
回复 支持 反对

使用道具 举报

发表于 2013-5-27 18:03:05 | 显示全部楼层
效果不错~ 谢谢
第一步的 air.sh 的换行符是 Windows 风格要转一下..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-27 20:28:17 | 显示全部楼层
本帖最后由 tll 于 2013-7-19 13:10 编辑
qqq1243 发表于 2013-5-27 18:03
效果不错~ 谢谢
第一步的 air.sh 的换行符是 Windows 风格要转一下..

好的
回复 支持 反对

使用道具 举报

发表于 2013-8-8 21:42:59 | 显示全部楼层
我是新人,不懂linux的,按你的操作来做,但出现了以下问题,麻烦帮我看看。

2013-08-08 13:44:35 (8.32 MB/s) - `air.zip' saved [1147/1147]

root@Cubian:~# unzip air.zip
Archive:  air.zip
  inflating: air.sh                  
root@Cubian:~# chmod +x air.sh
root@Cubian:~# ./air.sh --install
-bash: ./air.sh: /bin/bash^M: bad interpreter: No such file or directory
root@Cubian:~#
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 21:54:01 | 显示全部楼层
oldbing 发表于 2013-8-8 21:42
我是新人,不懂linux的,按你的操作来做,但出现了以下问题,麻烦帮我看看。

2013-08-08 13:44:35 (8.32 M ...

我知道,这个问题已经发现了,目前的解决办法是:
rm air.sh
nano air.sh
然后把上面的源码复制进去
然后CTRL+X退出
chmod +x air.sh
回复 支持 反对

使用道具 举报

发表于 2013-8-8 23:07:18 | 显示全部楼层
tll 发表于 2013-8-8 21:54
我知道,这个问题已经发现了,目前的解决办法是:
rm air.sh
nano air.sh

安装成功了,谢谢。但是一播放就出现这个问题,断掉了。

root@Cubian:/home/cubie# air
Established under name 'FD4C94380ADE@TonyAIR'
Audio StreamE5YTzowcSE+mdm2HBX8d3A==/usr/air/hairtunes: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.15' not found (required by /usr/air/hairtunes)
Use of uninitialized value $portdesc in pattern match (m//) at /usr/air/start.pl line 684.
Use of uninitialized value $portdesc in concatenation (.) or string at /usr/air/start.pl line 684.
Expected port number from decoder; got  at /usr/air/start.pl line 684.
root@Cubian:/home/cubie#
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-9 07:18:56 | 显示全部楼层
oldbing 发表于 2013-8-8 23:07
安装成功了,谢谢。但是一播放就出现这个问题,断掉了。

root@Cubian:/home/cubie# air

没glibc 2.15,自己搜索安装
回复 支持 反对

使用道具 举报

发表于 2013-8-9 09:09:34 | 显示全部楼层
让我想起了有人拿树莓派的PWM发射收音机信号。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-23 01:29 , Processed in 0.027960 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部