当前位置:首页 > 投稿 > 正文

3 分钟教你解锁 Sonos 和小爱等智能音箱的 AirPlay 功能(小爱触屏音箱接入homeassistant)

这篇文章我之前在什么值得买、知乎、少数派等平台曾发布过,现在更新修改了一些细节后发布 V2 版本,请知悉。

〇、前言

随着智能音箱的价格越来越平民,现在许多家庭都有了一台甚至几台智能音箱,它们基本都支持了蓝牙和 DLNA 协议,但原生支持 AirPlay 的并不多。好在我们可以通过软件兼容的形式来解锁 AirPlay(隔空播放)功能,本文就以我家中的 Sonos 和小爱音箱为例,最快只需 3 番钟搞定,点一下,玩一年。

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

现在 iOS 12 已经支持 AirPlay 2 了,Sonos 也推送了新的 App 版本,宣布部分产品支持 AirPlay 2,然而我的 Play:1 因为年代久远性能落后,并不支持

既然 AirPlay 2 是无缘用上了 ,周末闲着也来折腾下 AirPlay 吧,也许某一天民间大神搞定了 AirPlay 2?又或者……还是乖乖买新音箱吧。

首先声(fang)明(gang)下(jing),AirPlay 并不是完美的,也不能完全替代蓝牙,觉得蓝牙+ DLNA 够用的朋友请勿喷,关闭页面就好了~

如果你正好需要 AirPlay 主打的几个功能点,可以跟着本文的教程一起动手玩玩。

优点:

  • 苹果设备间无缝衔接,iPhone / iPad / Mac 不用手动配对,控制中心一键切换
  • 比如回家路上用 iPhone 戴耳机听着歌,到家后直接切换到 AirPlay 音箱上断点续播
  • 比如在设备上接听来电或玩游戏,也不会打断你正欣赏的音乐,通知、来电和音乐播放互不干扰
  • AirPlay 的音质更好,理论上比蓝牙强一丢丢,适合播放下载到本地的高品质音乐。

缺点:

  • (第三方 AirPlay)播放操作会延迟大概1~3s,听歌倒是无所谓,看视频就完全不行了。
  • 官方的 AirPlay 设备其实也有延迟,但认证过的 AirPlay 会自动同步延迟,所以延迟会很小。
  • 部分第三方 AirPlay 软件支持手动调整延迟,可以按需选择。
  • 注意延迟不是卡顿,如果遇到播放卡顿,推荐使用有线或 5G WiFi 连接。

一、设备要求

如果你家中刚好有一台所谓的「智能音箱」,它们绝大部分是支持 DLNA 协议的,解锁 AirPlay 后会更方便。如果你家中是传统的普通音箱,比如 n 年前买的大块头音箱,音质不错但不方便连接手机,咱们也是有办法让它们焕发第二春滴~

关于智能音箱是否支持 DLNA,请检查产品包装及说明书,或查看官网参数,90%都支持,但也有例外。

除了必备的音箱,咱们还需要安装第三方软件来模拟 AirPlay,需要用到以下平台的设备,任选其一即可。

  • Mac 电脑
  • 闲置 Android 手机、电视盒子
  • Windows 电脑
  • Linux、NAS、树莓派等

二、macOS 端

因为 AirPlay 是苹果家的技术,那咱们先来说说 Mac 电脑如何安装第三方 AirPlay 软件。

  • 易用度 ★★★★★
  • 实用性 ★★★★☆
  • 优点:傻瓜式操作,支持多个音箱,即开即用。
  • 缺点:如果需要音箱随时待命,电脑得一直开机。

下面说说详细的步骤。

1.打开 SonoAir 官网,下载目前最新版本的 SonoAir 软件。

2.解压下载后的 zip 文件,把 SonoAir 拖入应用程序,就算安装好了。

3.打开 SonoAir 等待片刻,它会自动识别 Sonos 音响,例如我的 Play: 1 名称是「卧室」。

4.此时同一局域网下的 iPhone/iPad/Mac 就能找到 AirPlay 设备了,解锁 AirPlay 功能后的音箱名称多了个+号,如「卧室+」。

SonoAir 原本是为 Sonos 音响增加 AirPlay 功能而开发的,但我在使用中发现,启动服务后,同一局域网内的其他 UPnP/DLNA 音箱也都添加了 AirPlay 功能, 如「客厅的电视+」和「小米 AI 音箱+」。

另外,我观察了该软件的日志后,发现这个软件是基于 AirConnect 开源项目二次开发的,顺藤摸瓜找到了 GitHub 地址,于是就有了下文的第 3 种方案,咱们后面说。

三、Android 端

如果你家里有一个传统的、音质还不错的音箱,一般都支持 AUX 音频输入(也就是常见的 3.5mm 音频口),那么只需一台闲置的安卓手机就可以升级成为 AirPlay 音箱了。

  • 易用度 ★★★★☆
  • 实用性 ★★★★☆
  • 优点:傻瓜式操作,即开即用,(电视盒子)低功耗方便待机。
  • 缺点:只能扩展一个音箱。

下面说说详细的步骤。

1.打开乐播投屏官网,下载最新版本「乐播投屏TV版」,然后安装到手机上。

2.手机上打开「乐播投屏」App,如果想要个性化的设备名称,可以去设置选项里修改一下。

3.使用 3.5mm 公对公音频线把手机和音箱连接起来。

4.此时同一局域网下的 iPhone/iPad/Mac 就能找到 AirPlay 设备了。

没有旧安卓手机的朋友,可以用电视盒子代替,其实「乐播投屏TV」App 原本就是用在智能电视上的。从上图可以看出这个方法模拟的 AirPlay 服务是 Apple TV,不光能投音频,还能投视频、镜像串流

其实淘宝JS也有卖类似「WiFi音乐盒」、「无线音箱伴侣」的产品,效果几乎一毛一样,学会了就立省 100 多块哦~

四、跨平台

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

  • 易用度 ★★★★☆
  • 实用性 ★★★★★
  • 优点:跨平台使用,支持多个音箱,可 24 小时运行。
  • 缺点:有一点儿技术门槛。

这是>> 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 支持多平台,之前我主要使用的设备是旧安卓手机 + Linux子系统(暂时称作安卓派,使用 Linux Deploy 或 Termux 部署,改天展开聊聊),现在换成了群晖 NAS

个人推荐使用一些可以 7x24 小时开机的低功耗设备,如 NAS、树莓派、「安卓派」,甚至 ARM 架构的智能路由器(未测试)。Windows 电脑虽然可以借助命令行工具使用,但电脑不适合长时间开机,不太推荐。

下文以 NAS 设备和 LInux 设备为例,其他操作系统如何使用请参考 GitHub 的说明文档。

4.1 群晖 NAS

GitHub 已经有网友(@bandesz)打包了一个适用于群晖 NAS 的套件(spk格式),我们只需要下载适合自己 NAS 架构的版本,本地上传安装即可。

安装成功后,在「套件中心 - 已安装」里选择启动它,用这种方式运行 AirConnect 看不到系统日志,也不支持手动调整延迟等功能。使用体验和开头的第一种方案相同。

进阶用户可以安装 Docker 版的 AirConnect,实现更多自定义设置。

4.2 Linux 设备

如果你使用的是 Linux 系统的设备,如树莓派,安卓派(使用 Linux Deploy 或 Termux部署 Linux,这部分改天再聊)。

1.找到你运行 AirConnect 服务的设备对应 airupnp 模块,比如我的旧安卓手机是 arm 架构,所以选择 airupnp-arm 这个模块。

3.输入该模块对应的代码,把文件下载到本地,并修改权限。

wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-armchmod +x airupnp-arm

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

./airupnp-arm

可以看到软件会自动为同一局域网内的其他 UPnP/DLNA 音箱都添加了 AirPlay 功能,使用体验和开头的第一种方案相同。这个软件的其他指令和用途(如自启动、修改延迟同步),请自行参考 GitHub 的说明文档。

五、题外话

关于所谓的智能音箱,我之前聊过一些看法,这边摘录一下。

智能音箱的主要作用是语音交互和语音控制,前几年国外售价动辄1~2K的智能音箱,让国内厂商打价格战成功压缩到了百元内,国内家庭的普及率已经很高了。智能音箱的音质这部分成了非刚需,从成本考虑自然被砍掉了,所以很多智能音箱不算一个合格的「音箱」,与其叫「智能音箱」,不如叫「智能扬声器」或者「智能喇叭」

个人觉得百元级智能音箱的音质都很渣,反倒是叮咚TOP、若琪·梵星这种支持 AUX-OUT 音频输出的产品,便可以实现1+1>2的效果了,智能音箱只负责语音交互,音质部分交给专业音箱,跟电视盒子的定位一样。

在家里听音乐我首选 Sonos,一般不会使用智能音箱听歌。在(没钱)没买新款 Sonos 之前,我希望家里的老款 Play: 1支持 AirPlay 和简单的语音控制(目前可接入苹果的 HomeKit 智能家居平台),好在有不少人跟我想法一致,前人栽树后人乘凉,我这个伸手党整合了一下,算是回馈互联网分享精神吧。

对 Sonos 感兴趣的朋友,可查看我之前写过的 Sonos 使用体验文章,在线种草。

如果你已有非语音版 Sonos 音箱,可查看我之前写过的如何把 Sonos 接入 HomeKit 智能家居,实现用 Siri 语音控制播放、调节音量。

回想我当时买小爱音箱的原因之一,也是看到消息说小爱音箱会跟 Sonos 合作,结果胎死腹中了。

对了,前几天我在咸鱼收了一个 Sonos 在大陆的官方语音合作伙伴——rokid mini,终于让老款 Play: 1 也支持了完整的语音控制(和新款 Play One 一样),体验文章正在写,先挖个坑哈


如果觉得本文对你有帮助,欢迎「➕关注➕点赞➕收藏」鼓励一下我。

以后我会分享更多有趣的玩机技巧,让小白也能享受科技的乐趣~

最后是惯例的 GIF 小彩蛋环节,我们下次更新见~