Linux通过Airplay/DLNA连接音箱来播放音乐
阿铁木贞子弹
2020年10月07日 15:50
收录于文集
共15篇

前段时间在微博上看到某数码闲置博主自己买了个音箱,叫Libratone Zipp Classic,闲鱼只要199,了解了下,可以通过wifi或者3.5mm的AUX接口与音乐设备进行连接。内置电池,提供一个标准的USB接口,可以在播放音乐的同时,给USB设备充电。

 

这音箱没有蓝牙,不过我以前是通过树莓派安装moOde连接传统能插CD的音箱(其实中间还加了个USB声卡),再通过手机Airplay/DLNA连接Moode来播放。因为这个插CD的音箱自带的蓝牙容易断而且是蓝牙3.0的,所以我就选用Airplay来连。

 

又由于安卓上能用DLNA的好像就QQ音乐和网易云音乐,这两我都没会员,虾米又不支持,因为有88会员送的虾米会员,所以我只能在iOS设备上用Airplay来连接音箱。

 

当买下这小鸟音箱时,首先就搜了Linux连接Airplay音箱,搜到一篇linux 如何使用AirPlay 播放音频(https://blog.csdn.net/lihk11/article/details/90574222),我在我这UOS系统上试了半天没成功,后来在同机上的另一系统Manjaro上测试可以,笔记本装了Linux Mint也可以。后来在虚拟机里试过Ubuntu和Deepin都可以。

这是小鸟音箱的Web界面

(以下的图大多都截图虚拟机装的Ubuntu18)

主要是要用到PulseAudio这个音频服务,而且使用非常简单

其实只需安装pulseaudio-module-raop即可

sudo apt install pulseaudio-module-raop

另一个用到的pulseaudio-module-zeroconf应该会自动安装。


运行加载这个模块

pacmd load-module module-raop-discover


或者把下面这条加到/etc/pulse/default.pa里,会自动加载

load-module module-raop-discover

然后重启下运行pulseaudio -k,因为现在的系统上这些都是自动运行的,所以杀掉后会自动启动(注意这是在配置改动后运行的,上面那个你再运行就恢复默认了)


此时打开设置->声音->就可在输出设备中看到当前局域网中的Airplay设备,直接点击选中就可播放了。

后来搜了下,DLNA只需要直接运行pulseaudio-dlna,就可在输出设备中看到局域网中的DLNA设备了,同样点击选中就能播放了。

如需更详细声音设置的可以安装pavucontrol,安装后的中文名是PulseAudio音量控制。当然如果不想在修改配置,也可安装paprefs 安装后的中文名是PulseAudio 属性,就在第一个选项卡(Network Access)第二条选中即可。如果已经在配置文件中添加了load-module module-raop-discover你再选这选项PulseAudio会崩溃,所以只能选一种。崩溃了可以按提示运行start-pulseaudio-x11如果启不来,说明配置文件有问题或者和PulseAudio 属性里的选项勾选有冲突。

左为pavucontrol右为paprefs

刚开始如果上面说的pulseaudio-module-raop模块没安装的话是这样的

试了下点击Install并不会给你装上,所以还是要自己apt安装模块

第二个选项卡也是灰的,以前不知道是啥,搜了下rygel,后来直接apt 安装rygel也就能选中了,但和本篇没关系,因为我也不知道怎么用,它不是像上面那两一样直接在声音设置中就能看到局域网中的设备,也可能是我操作有误。。。

配置添加加载模块重启pulseaudio

paprefs中勾选选项,配置已添加加载模块重启pulseaudio会崩溃,此时再启也启不来

paprefs中勾选选项,再直接运行命令加载模块会模块初始化失败

直接运行pulseaudio-dlna

另外,我在Linux Mint上还遇到过这选项卡中的选项为灰色不能选中,查了下解决方法在这https://www.reddit.com/r/Ubuntu/comments/gvtzpb/ubuntu_2004_lts_x86_64_trying_to_use_paprefs_but/

是通过添加软连接解决的。

另外还可以安装avahi-discover(中文名Avahi Zeroconf浏览器)查看局域网中的各种服务

虚拟机把网络连接方式改成桥接在能发现局域网中的设备

在lx音乐助手上也可在音频输出选择对应的

以下三张是我在8月9号的截图,那时就弄成了,一直懒得发

就是那个Rygel不知怎么用,应该是作为DLNA服务器共享Linux上的图片音乐视频,可我在手机上nplayer里扫描UPnP/DLNA根本发现不了,贴个官方教程https://wiki.gnome.org/Projects/Rygel/Pulseaudio

后续:换成Manjaro,勾选第二选项卡Network Server里第二个选项,发现在QQ音乐里可以发现,然后把耳机插到电脑上3.5mmAUX孔,可以听到那首歌。。。而且在声音回放那里选中Airplay的设备,声音又通过那个音箱传出(禁止套娃)

声音通过耳机传出

声音通过安装了Moode的树莓派连接的音箱传出

nplayer也能识别到,但一直转圈

最后提一句,网易云音乐里的DLNA是真垃圾,我记得以前连Moode上的DLNA还行,虽然切歌不流畅,但还是能用,现在能通过DLNA播放的歌寥寥无几,还识别不出这电脑,这QQ音乐吧识别不出Moode(不知道以前试的时候能不能识别到)但是这小鸟音箱本身就是标明了支持QQ音乐的,所以如果只有安卓设备非要用WiFi来听的话优选QQ音乐了(不排除有其他的本地播放器),我现在只有个iPad Mini通过Airplay播放虾米音乐。