如何给小米音箱加上 AirPlay

Description
适用于 iPhone/iPad 用户,免去每次连蓝牙,音箱随时就位
Published
March 7, 2023
Tags
Tweak
Entertain

背景

家中有一个闲置的小米 AI 音箱,就想放在客厅电视柜上,和另一侧的 AX1800 立式路由器形成双塔,对称美观之余,找小爱同学帮开电视、随便听听歌也是方便的。
但当媒体来源是手上的 iPhone/iPad 时,想将声音通过小米音箱播放就有些麻烦,需要通过蓝牙配对连接才行,远没有 AirPlay 到电视等方式方便。
遂想:是否能给小米音箱加上 AirPlay 呢?

方案

小米 AI 音箱的两部分主题功能,一是智能(AI),通过 Wi-Fi 接入网络实现,二是音箱,通过播放设备蓝牙连接实现。但通常的家庭场景里,音箱的 Wi-Fi 是常连的,蓝牙则按需连接,且受距离影响更大,故类似 AirPlay 等基于局域网的连接播放方案更优。
经查,神器 AirConnect 正有此用:
# 下载 AirConnect mkdir airconnect cd airconnect wget https://raw.githubusercontent.com/philippe44/AirConnect/master/bin/airupnp-linux-x86_64 # 补充执行权限 chmod +x airupnp-linux-x86_64 # 测试运行 ./airupnp-linux-x86_64 # 创建配置文件,在config.xml中可以通过enable键值过滤设备 ./airupnp-linux-x86_64 -i config.xml # 后台运行 ./airupnp-linux-x86_64 -z
至此,AirPlay 已经可用。

更新

出于一些原因,想将 AirConnect 服务搬迁至闲置的安卓手机上,发现 AirConnect 似乎并没有为原生安卓编译,而如果在安装上跑 Linux 则可以运行:https://github.com/philippe44/AirConnect/issues/157#issuecomment-596023506
尝试过程中,由于红米 4 过于老旧,遇到几个问题:
  1. Android 7 以下需自行从 GitHub Actions 中寻找对应版本的 Termux 安装包,且不支持软件包更新:https://github.com/termux/termux-app/wiki/Termux-on-android-5-or-6
  1. 部分留存链接指向的 GitHub Actions 中的 apk 附件已过期,需要从新的 Actions 中获取:https://github.com/termux/termux-app/actions/workflows/debug_build.yml?query=branch%3Amaster+
  1. AnLinux 安装 Linux 后才可用;
  1. 新版 AirConnect 对内核版本有要求,如遇报错「kernel too old」,需从 历史版本 中翻找,如 0.2.51.1 版 测试可用

参考