〇、前言

我家里现在有两个音箱,Sonos Play:1 和小爱同学。近些年的智能音箱基本都支持了蓝牙和 DLNA 协议,但原生支持 AirPlay 的并不多。好在我们可以通过软件兼容的形式来解锁 AirPlay(隔空播放)功能,本文就以 Sonos 和小爱音箱为例,最快只需 3 番钟搞定,点一下,玩一年。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 

AirPlay(隔空播放)

AirPlay 的优点是跟苹果设备无缝衔接,不用手动配对。比如回家路上用耳机听着歌,到家后直接切换到音箱上继续听。在设备上接听来电或玩游戏,也不会打断你正欣赏的音乐。

缺点嘛……延迟略坑,大概1~3s,听歌倒是无所谓,看视频就完全不行了。开始我以为是「非官方」AirPlay 设备的原因,但查了下资料貌似都这样?除非用有线连接,延迟情况会好一些。

之前看苹果 AirPlay 2 的官方介绍,跟 Sonos 的无线音响系统比较像了,可以同时控制家中的多台音频设备,据说还能用 Siri 语音控制 Sonos了,我挺感兴趣的。

最近, iOS 12 测试版已经全面支持 AirPlay 2 了,Sonos 在上周也推送了新的 App 版本,部分产品支持 AirPlay 2,然而我的 Play:1 因为年代久远性能落后,并不支持。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 

部分 Sonos 音箱已支持 AirPlay 2

既然 AirPlay 2 是无缘用上了 ,周末闲着也来折腾下 AirPlay 吧,也许某一天民间大神搞定了 AirPlay 2?又或者……还是乖乖升级音箱硬件吧。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 

一、设备要求

如果你家中刚好有一台所谓的「智能音箱」,绝大部分是支持 DLNA 协议的,解锁 AirPlay 后会更方便。如果……只是传统的普通音箱,当然也可以尝尝鲜滴~

通过软件兼容 AirPlay 需要用到以下平台的设备,任选其一即可。

  • Mac 电脑
  • 闲置 Android 手机
  • Windows、Linux 或 NAS设备

二、所需软件

2.1 macOS 端

易用度 ★★★★★

实用性 ★★★★☆

如果你使用的是 Mac 电脑,那么直接下载安装 SonoAir 软件,开启后等一会儿,iPhone/iPad/Mac 上就能找到 AirPlay 音箱了。

自动识别 Sonos 音箱

SonoAir 原本是为 Sonos 音响增加 AirPlay 功能而开发的,但我在使用中发现,启动服务后,同一局域网内的其他 UPnP/DLNA 音箱也都添加了 AirPlay 功能,如下图。

解锁 AirPlay 功能后的音箱名称多了+号

【插一句】在观察了该软件的日志后,我发现这个软件是基于 AirConnect 开源项目二次开发的,顺藤摸瓜找到了 GitHub 地址,然后就有了下文的第3种方案。

SonoAir 是基于 AirConnect 二次开发的

>> SonoAir 官网

  • 优点:傻瓜式操作,即开即用。
  • 缺点:如果需要随时待命,电脑也得一直开机。

2.2 Android 端

易用度 ★★★★☆

实用性 ★★★★☆

如果你只有一个传统音箱(不是蓝牙的也可以),大部分会支持 AUX 输入——也就是常见的 3.5mm 音频口,那么你只需要在旧安卓手机上安装「乐播投屏TV」App1  ,然后用 3.5mm 公对公音频线把手机和音箱连接起来,iPhone/iPad/Mac 上就能找到 AirPlay 音箱了。

没有旧安卓手机的朋友,可以直接利用电视盒子接音箱,其实「乐播投屏TV」App原本就是用在智能电视上的。

利用旧安卓手机改造普通音箱
3.5mm 公对公音频线
「乐播投屏TV」App 会把安卓手机模拟为 Apple TV,可镜像投屏
  • 优点:傻瓜式操作,即开即用。
  • 缺点:只支持一台设备

2.3 跨平台

易用度 ★★★★☆

实用性 ★★★★★

上文提到了「幕后英雄」 AirConnect 项目,它可以跨平台使用,安装后同一局域网下的所有 UPnP/DLNA 和 Chromecast 音频设备都将具备 AirPlay 功能。

>> AirConnect 官网

Use these applications to add AirPlay capabilities to Chromecast and UPnP (like Sonos) players (make them look like an AirPLay device)AirConnect can run on any machine that has access to your local network (Windows, MacOS, Linux -x86, x64 and ARM, Solaris and FreeBSD). It does not need to be on your main computer. (For example, a Raspberry Pi works well). It will detect UPnP/Sonos/Chromecast players, create as many virtual AirPlay devices as needed, and act as a bridge/proxy between AirPlay clients (iPhone, iPad, iTunes, MacOS, AirFoil ...) and the real UPnP/Sonos/Chromecast players.

#以下为谷歌翻译#

使用这些应用程序将AirPlay功能添加到Chromecast和UPnP(如Sonos)播放器(使其看起来像AirPLay设备)AirConnect可以在任何可以访问本地网络的计算机上运行(Windows,MacOS,Linux-x86,x64和ARM,Solaris和FreeBSD)。它不需要在您的主计算机上。(例如,Raspberry Pi运行良好)。它将检测UPnP / Sonos / Chromecast播放器,根据需要创建尽可能多的虚拟AirPlay设备,并充当AirPlay客户端(iPhone,iPad,iTunes,MacOS,AirFoil ......)和真正的UPnP / Sonos /之间的桥梁/代理Chromecast播放器。

从介绍文档上可以看到 AirConnect 支持多平台,我选择的是「Android Pi 安卓派」2 。之前我为了弄智能家居,已经在旧安卓手机上部署了 Linux 系统。

个人推荐使用一些可以 24 小时开机的低功耗设备,如 NAS、树莓派、「安卓派」,甚至是 arm 架构的智能路由器。下文以 Linux 系统为例,其他操作系统请参考 GitHub 的说明文档。

a.安装

首先找到你运行 AirConnect 的设备需要的 airupnp 模块,比如我的安卓手机是 arm 架构,所以选择 airupnp-arm 这个模块。

选择操作系统对应的 airupnp 模块
wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-arm
chmod +x airupnp-arm

b.运行

输入以下代码运行 airupnp 服务。

./airupnp-arm

可以看到软件会自动为同一局域网内的其他 UPnP/DLNA 音箱都添加了 AirPlay 功能,实现效果和第一种方法相同。这个软件的其他指令和用途,请参考 GitHub 的说明文档。

自动识别音箱并添加 AirPlay 服务

>> AirConnect 官网

  • 优点:跨平台支持,可 24 小时运行。
  • 缺点:有一点儿技术门槛。

三、题外话

顺便说一下,小爱音箱在我家中的定位是「语音控制+蓝牙音箱」,控制灯和空调什么的很方便,然后配合电脑看个视频和直播,只是音质……300块和1000块的差距还是 hin 明显的。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 听歌还是交给Sonos了~如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 

之前还看到个新闻,貌似小爱音箱会跟 Sonos 合作,结果遥遥无期,第三方开发者也没人关注,确实是太小众了吧。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 

小米 2017 IoT 开发者大会截图

看来还是等 Sonos One 的价格再降降,然后跟 Play:1 凑一对比较合适。如何把 Sonos 和小爱音箱升级为 AirPlay 音箱? 


最后祝大家听歌愉快~

老婆镇楼=3=