在上篇Docker系列的文章中我们让家里的小朋友都用上了GPT大模型,今天我们来介绍个轻松愉悦的项目:打破小爱音箱的壁垒,实现小爱音箱播放群晖里的音乐。

玩群晖的都知道,想要播放群晖中的音乐必须要经过【Audio Station】套件,而小爱音箱中也只能播放内置的音乐,或者需要单独的音乐会员。

如果你同时拥有群晖和小爱音箱,那么你肯定思考过,群晖中的音乐能否直接通过小爱音箱播放?

今天这个项目就可以实现!

不单单是音乐,音频也可以通过小爱音箱播放,给家里的小孩放点英语磨耳朵也是非常不错的。

项目地址

https://github.com/hanxi/xiaomusic

功能

  • 播放本地音乐。通过该功能可以让小爱音箱播放本地的音乐,打破音箱的壁垒。
  • 搜索下载网络音乐。支持哔哩哔哩下载歌曲, youtobe 下载歌曲并保存到本地。
  • 网络歌单功能。可以配置一个 json 格式的歌单,支持电台和歌曲。
  • 支持口令。“播放歌曲”,“播放歌曲+歌名“,比如:播放歌曲周杰伦晴天。
  • 提供接口。可以自己开发前端,或者使用其他程序调用。

配置文件

我们使用docker容器的方式使用群晖进行安装,所以首先我们准备好docker-compose文件。

🔻 根据自身情况修改以下docker-compose文件。

version: '3'

services:
  xiaomusic:
    image: hanxi/xiaomusic
    container_name: xiaomusic
    restart: unless-stopped
    ports:
      - 8090:8090
    volumes:
      - /volume1/music:/app/music
    environment:
      MI_USER: 'xxxx'
      MI_PASS: 'xxxx'
      MI_DID: 00000
      MI_HARDWARE: 'L05C'
      XIAOMUSIC_SEARCH: 'bilisearch:'
      XIAOMUSIC_HOSTNAME: '192.168.2.99'

🔻 /volume1/music,修改为本地音乐文件存放路经。(后面下载的音频文件也会在这里)

🔻 MI_USER在米家APP中获取,MI_PASS为对应的密码(和上一篇小爱接入GPT的一致),MI_DID可以不用管,后面可以选择。

🔻 MI_HARDWARE可以参考下面的表格,也可以直接在音箱底部找到对应的型号。

型号名称
L06A小爱音箱
L07ARedmi小爱音箱 Play
S12/S12A/MDZ-25-DA小米AI音箱
LX5A小爱音箱 万能遥控版
LX05小爱音箱Play(2019款)
L16AXiaomi Sound
L17AXiaomi Sound Pro
LX06小爱音箱Pro
LX01小爱音箱mini
L05B小爱音箱Play
L05C小米小爱音箱Play 增强版
LX04 X10A X08A已经支持的触屏版

XIAOMUSIC_SEARCH表示启用哔哩哔哩搜索。'bilisearch:' 表示歌曲从哔哩哔哩下载;'ytsearch:' 表示歌曲从 youtube 下载。

XIAOMUSIC_HOSTNAME为宿主机的IP地址。(在哪个设备上运行就设置为哪个设备的IP)

最后把修改好的文件保存命名为:docker-compose.yml。

安装

🔻 在【File Station】新建文件夹,并把docker-compose文件上传到群晖中。

🔻 打开群晖【Container Manager】,新增项目,选择刚刚创建好的docker-compose文件。

🔻 等待拉取镜像并启动,最后查看容器日志,如果没有报错就代表成功。

使用

🔻 在浏览器输入【群晖IP:8090】进入管理界面,点击齿轮进入设置。

🔻 选择一个音箱,保存并返回首页。

🔻 播放本地音乐。

🔻 播放链接音乐。

后记

如果群晖的8090端口被占用,则需要修改为其他端口。但是这里的修改和其他容器不同,并不能直接修改宿主机中的8090,而要增加一个环境变量XIAOMUSIC_PORT,并按照下图修改。

如果你的小爱音箱不能播放本地歌曲,那么请检查日志里的播放链接(如:http://192.168.2.99:8090/music/%E5%A4%9C%E6%9B%B2.wav)能否直接在浏览器中播放。

发散一下,你可以通过这个项目直接绕开群晖的控制,直接在公网播放群晖中的音乐,不需要单独去修改群晖中nginx的配置文件(防止出现问题)。

最后修改:2024 年 09 月 27 日
如果觉得我的文章对你有用,就给个赏~~写文章,费烟~