作者:凝木雨
生态是个好东西,也不是个好东西。
当它的边界可扩展的时候是个好东西,当它开始有樊笼的时候,它就不是个好东西了。
比如小爱音箱只能QQ音乐的vip,它就不仅不是好东西,它都不是个东西了。
所以,今天我们就来破了它。
请出今天的主角:xiaomusic
作者是这样介绍它的:使用小爱/红米音箱播放音乐,音乐使用 yt-dlp 下载。
支持口令
播放歌曲
播放歌曲+歌名 比如:播放歌曲周杰伦晴天
下一首
单曲循环
全部循环
隐藏玩法: 对小爱同学说播放歌曲小猪佩奇的故事,会播放小猪佩奇的故事。
懂了,就是可以播放音乐,然后音乐文件会下载到本地一直嗨。
开干。
老规矩,先上命令行搭建命令:
docker run -dit --name xiaomusic -e MI_USER= -e MI_PASS= -e MI_DID= -e MI_HARDWARE='设备名' -e XIAOMUSIC_HOSTNAME= -e XIAOMUSIC_SEARCH='bilisearch:' -p 8090:8090 -v $PWD:/app/music hanxi/xiaomusic
介绍一下环境变量:
XIAOMUSIC_SEARCH
配置为 'bilisearch:' 表示歌曲从哔哩哔哩下载;
配置为 'ytsearch:' 表示歌曲从 youtube 下载。
XIAOMUSIC_PROXY 用于配置代理,默认为空;
当 XIAOMUSIC_SEARCH 配置为 'ytsearch:' 时在国内需要用到。
MI_HARDWARE 是小米音箱的型号,默认为'L07A'
设备型号直接把小爱拿起来看屁股上的型号就知道了
注意端口必须映射为与容器内一致, XIAOMUSIC_HOSTNAME 需要设置为宿主机的 IP 地址,否则小爱无法正常播放。
可以把 /app/music 目录映射到本地,用于保存下载的歌曲。
XIAOMUSIC_PROXY 参数格式参考 yt-dlp 文档说明:
Use the specified HTTP/HTTPS/SOCKS proxy. Toenable SOCKS proxy, specify a proper scheme,e.g. socks5://user:pass@127.0.0.1:1080/.Pass in an empty string (--proxy "") fordirect connection
关于DID部分,可以参考这个这位老哥的说明:
MiService 使用说明
如果你像我一样只有一个设备的话,不配置DID也行。
如果想简单点儿,可以用我写的简陋的不行的工具
https://www.123pan.com/s/Y4kqVv-uasbv.html提取码:MHAb
下面展示一下群晖container manager下的搭建
先在注册表处搜索并下载镜像
镜像下载完成后在映像处找到镜像,运行
根据自己的环境进行配置
对外端口设置一个没用被占用的端口
hostname填写宿主机的IP
hardware填写设备型号
search填写搜索方式
did填写设备的device id
user填写小米账号
pass填写小米账号密码
具体参考上面的说明。
配置好之后就可以一路下去运行了。
如果,我是说如果,容器没起来,可以查看日志,看看遇到了哪些奇怪的问题,我们再来解决。
服务启动后的简易控制面板
浏览器进入 http://192.168.x.x:8090
ip 是 XIAOMUSIC_HOSTNAME 设置的
8090 是默认端口,使用自己映射的端口
测试一下,听到开始播放音乐,同时小爱开始嗨起来了,说明成了。
搞定收工。