前言

你的飞牛云NAS上明明有很多歌曲,当你换起小爱同学的时候却听不了NAS上的歌曲,那么我们可以使用docker搭建XiaoMusic项目来实现以上功能,

image-1752401376442.png
并且当本地没有相应的歌曲的时候,会自动下载歌曲,解放小爱音箱,除了语音控制还可以网页直接控制小爱同学播放歌曲。

image-1752399856112.png
以下是与该项目相关的一些图片:
web界面

默认主题

image-1752399911223.png

怀旧主题

image-1752399931105.png

Tailwind主题

image-1752399840233.png

Pure主题

image-1752400151375.png

XMusicPlayer

image-1752400215214.png

🤐 支持语音口令

  • 【播放歌曲】,播放本地的歌曲
  • 【播放歌曲+歌名】,比如:播放歌曲周杰伦晴天
  • 【上一首】
  • 【下一首】
  • 【单曲循环】
  • 【全部循环】
  • 【随机播放】
  • 【关机】,【停止播放】,两个效果是一样的。
  • 【刷新列表】,当复制了歌曲进 music 目录后,可以用这个口令刷新歌单。
  • 【播放列表+列表名】,比如:播放列表其他。
  • 【加入收藏】,把当前播放的歌曲加入收藏歌单。
  • 【取消收藏】,把当前播放的歌曲从收藏歌单里移除。
  • 【播放列表收藏】,这个用于播放收藏歌单。
  • 【播放本地歌曲+歌名】,这个口令和播放歌曲的区别是本地找不到也不会去下载。
  • 【播放列表第几个+列表名】,具体见: https://github.com/hanxi/xiaomusic/issues/158
  • 【搜索播放+关键词】,会搜索关键词作为临时搜索列表播放,比如说【搜索播放林俊杰】,会播放所有林俊杰的歌。
  • 【本地搜索播放+关键词】,跟搜索播放的区别是本地找不到也不会去下载。

[!TIP]
隐藏玩法: 对小爱同学说播放歌曲小猪佩奇的故事,会先下载小猪佩奇的故事,然后再播放小猪佩奇的故事。

已测试支持的设备

型号名称
L06A小爱音箱
L07ARedmi小爱音箱 Play
S12/S12A/MDZ-25-DA小米AI音箱
LX5A小爱音箱 万能遥控版
LX05小爱音箱Play(2019款)
L15A小米AI音箱(第二代)
L16AXiaomi Sound
L17AXiaomi Sound Pro
LX06小爱音箱Pro
LX01小爱音箱mini
L05B小爱音箱Play
L05C小米小爱音箱Play 增强版
L09A小米音箱Art
LX04 X10A X08A已经支持的触屏版
X08C X08E X8F已经不需要设置了.需要设置【型号兼容模式】选项为 true
M01/XMYX01JY小米小爱音箱HD 需要设置【特殊型号获取对话记录】选项为 true 才能语音播放
OH2PXIAOMI 智能音箱 Pro
OH2XIAOMI 智能音箱

🎵 支持音乐格式

  • mp3
  • flac
  • wav
  • ape
  • ogg
  • m4a

⚠️ 安全提醒

[!IMPORTANT]

  1. 如果配置了公网访问 xiaomusic ,请一定要开启密码登陆,并设置复杂的密码。且不要在公共场所的 WiFi 环境下使用,否则可能造成小米账号密码泄露。
  2. 强烈不建议将小爱音箱的小米账号绑定摄像头,代码难免会有 bug ,一旦小米账号密码泄露,可能监控录像也会泄露。

部署方法

使用Docker安装

本教程使用docker的方式安装部署,简单便捷

164b6ac419e23bc5390dc46601a202bf.jpeg

准备条件

1)一台飞牛云NAS(其他的NAS也可以)
我们使用飞牛云NAS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/hanxi/xiaomusic/

image-1752400598563.png
目前已经4.7k个 stars
更多功能可以访问GitHub
3)域名(可选)
域名可以根据自己的需求绑定

《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

xiaomusic

compose配置如下:

services:
  xiaomusic:  # 定义服务名称为 xiaomusic
    image: docker.hanxi.cc/hanxi/xiaomusic  # 使用来自 hanxi 的 XiaoMusic 镜像
    container_name: xiaomusic  # 容器名称为 xiaomusic
    restart: always  # 容器异常退出后自动重启
    ports:
      - 58090:8090  # 映射端口:宿主机58090端口 -> 容器内部8090端口
    environment:
      XIAOMUSIC_PUBLIC_PORT: 58090  # 设置 XiaoMusic 的对外访问端口
    volumes:
      - ./music1:/app/music/music1  # 映射本地自定义目录 music1 文件夹到容器内指定目录
      - ./music2:/app/music/music2  # 映射本地自定义目录 music2 文件夹到容器内指定目录
      - ./xiaomusic_music:/app/music  # 映射本地总音乐目录到容器内 /app/music
      - ./xiaomusic_conf:/app/conf  # 映射本地配置文件夹到容器内的配置目录

启动即可

image-1752400830164.png
正常启动

image-1752400844472.png

补充docker可用的镜像仓库

国内如果无法拉取镜像的可以使用
仓库1

https://proxy.1panel.live/

仓库2

https://docker.1panel.top/

仓库3

https://mirror.azure.cn/

仓库4

https://hub.rat.dev/

仓库5

https://docker.1ms.run

仓库6

https://docker.itelyou.cf/

仓库7

https://abc.itelyou.cf/

仓库8

https://docker.ywsj.tk/

飞牛云NAS上启动成功直接即可打开web界面

image-1752401027651.png

进入配置界面配置好相应的账号信息即可使用
其他默认配置建议先不该,直接使用即可。

其他功能自己摸索

==有任何问题可以直接留言或者问我==
==有任何问题可以直接留言或者问我==
==有任何问题可以直接留言或者问我==

欢迎关注我们的微信公众号!
微信公众号