2023-10-14 11:50:32 +00:00
|
|
|
|
# xiaomusic
|
|
|
|
|
|
|
|
|
|
使用小爱同学播放音乐,音乐使用 yt-dlp 下载。
|
|
|
|
|
|
|
|
|
|
## 运行
|
|
|
|
|
|
2023-10-14 14:27:50 +00:00
|
|
|
|
- 使用 install_dependencies.sh 下载依赖
|
|
|
|
|
- 使用 pdm 安装环境
|
|
|
|
|
- 参考 [xiaogpt](https://github.com/yihong0618/xiaogpt) 设置好环境变量
|
2023-10-14 11:50:32 +00:00
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
export MI_USER="xxxxx"
|
|
|
|
|
export MI_PASS="xxxx"
|
|
|
|
|
export MI_DID=00000
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
然后启动即可。默认监听了端口 8090 , 使用其他端口自行修改。
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
pdm run xiaomusic.py
|
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
### 支持口令
|
|
|
|
|
|
|
|
|
|
- **播放歌曲**
|
|
|
|
|
- **播放歌曲**+歌名 比如:播放歌曲周杰伦晴天
|
|
|
|
|
- 下一首
|
|
|
|
|
- 单曲循环
|
|
|
|
|
- 全部循环
|
|
|
|
|
|
|
|
|
|
## 已测试设备
|
|
|
|
|
|
|
|
|
|
```txt
|
|
|
|
|
"L07A": ("5-1", "5-5"), # Redmi小爱音箱Play(l7a)
|
|
|
|
|
````
|
|
|
|
|
|
2023-10-15 02:58:53 +00:00
|
|
|
|
## 在 Docker 里使用
|
|
|
|
|
|
|
|
|
|
```shell
|
2023-10-15 13:40:13 +00:00
|
|
|
|
docker run -e MI_USER=<your-xiaomi-account> -e MI_PASS=<your-xiaomi-password> -e MI_DID=<your-xiaomi-speaker-mid> -e XIAOMUSIC_PROXY=<proxy-for-yt-dlp> -e XIAOMUSIC_HOSTNAME=192.168.2.5 -p 8090:8090 -v ./music:/app/music hanxi/xiaomusic --hardware=<L07A>
|
2023-10-15 02:58:53 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- XIAOMUSIC_PROXY 用于配置代理,yt-dlp 工具下载歌曲会用到。
|
|
|
|
|
- 注意端口必须映射为与容器内一致,XIAOMUSIC_HOSTNAME 需要设置为宿主机的 IP 地址,否则小爱无法正常播放。
|
|
|
|
|
- 可以把 /app/music 目录映射到本地,用于保存下载的歌曲。
|
|
|
|
|
|
|
|
|
|
### 本地编译Docker Image
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
docker build -t xiaomusic .
|
|
|
|
|
```
|
|
|
|
|
|
2023-10-14 11:50:32 +00:00
|
|
|
|
## 感谢
|
|
|
|
|
|
|
|
|
|
- [xiaomi](https://www.mi.com/)
|
|
|
|
|
- [PDM](https://pdm.fming.dev/latest/)
|
|
|
|
|
- [xiaogpt](https://github.com/yihong0618/xiaogpt)
|
2023-10-14 15:42:33 +00:00
|
|
|
|
- [yt-dlp](https://github.com/yt-dlp/yt-dlp)
|
2023-10-14 11:50:32 +00:00
|
|
|
|
|