小爱音箱播放自定义音乐

2023-10-14 22:03:33 +08:00
 hanxiV2EX
https://github.com/hanxi/xiaomusic

刚提交初版,勉强能用,很多接口是用的 xiaogpt 项目。

根据提示语执行接口,播放音乐支持本地音乐,本地没找到就会搜索下载到本地再播放。
22011 次点击
所在节点    分享创造
119 条回复
hanxiV2EX
289 天前
@join xiaogpt 那个项目是支持发消息给 gpt 的。
huangmingyou
289 天前
我用 docker 部署起来了,看起来是通过小米官方的 API 实现交互的。
huangmingyou
289 天前
播放 music 的 ui 点了按钮,执行了,但是界面上没有反馈
hanxiV2EX
289 天前
@huangmingyou 是缺少了点击反馈效果,后期优化一下。
yautou
289 天前
好项目,支持👍
huangmingyou
289 天前
我用语音说“播放歌曲三年二班”, 直接播放云音乐的试听版本了呢?
hanxiV2EX
289 天前
@huangmingyou 可以看看日志,估计是小米账号没登陆成功。另外 ui 我优化了一下,你可以更新看看效果。
hanxiV2EX
289 天前
@xianzheng 最新版本已经支持了更换歌曲下载源,XIAOMUSIC_SEARCH 参数配置为 "bilisearch:" 搜索下载歌曲,但是 yt-dlp 项目有个 bug 还没解决,目前还下载不了。https://github.com/yt-dlp/yt-dlp/issues/5083 等这个 bug 解决了就能用 BiliBiliSearch 了
huangmingyou
288 天前
@hanxiV2EX 已经更新到最新的 docker 版本, docker logs -f xiaomusic 的时候,能看到网页上操作的日志,但是没有看到去取语音历史的日志。还是说有别的日志文件? 我 docer exec -it xiaomusic /bin/bash 到容器里面,用 micli.py list 可以正确列出设备列表。说明账号是对的。 现在是网页可以正常播放。
hanxiV2EX
288 天前
@huangmingyou 获取历史记录的代码是这个 https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L169

你可以加打印调试看看是哪里有问题,也可能是这个问题吧。
https://github.com/yihong0618/MiService/issues/2

用网页控制是不走语音历史记录的。
hanxiV2EX
288 天前
@huangmingyou 这些打印可以打开注释,然后用 --verbose 参数打开调试日志看看。

https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L88
hanxiV2EX
288 天前
@xianzheng 下载源搞定哔哩哔哩了,国内可以不用代理了。

version: '3'

services:
xiaomusic:
image: hanxi/xiaomusic
container_name: xiaomusic
restart: unless-stopped
ports:
- 8090:8090
volumes:
- ./music:/app/music
environment:
MI_USER: '小米账号'
MI_PASS: '小米密码'
MI_DID: 00000
MI_HARDWARE: 'L07A'
XIAOMUSIC_SEARCH: 'bilisearch:'
XIAOMUSIC_HOSTNAME: '192.168.2.5'
wongtk
288 天前
这个可以通过本地和搜索下载跳过试听了呀
huangmingyou
287 天前
@hanxiV2EX docker 在哪里加这个 verbose,我对 python 不熟悉。
hanxiV2EX
287 天前
@huangmingyou docker run -it -e MI_USER=<your-xiaomi-account> -e MI_PASS=<your-xiaomi-password> -e MI_DID=<your-xiaomi-speaker-mid> -e MI_HARDWARE='L07A' -e XIAOMUSIC_HOSTNAME=192.168.2.5 -e XIAOMUSIC_SEARCH='bilisearch:' -p 8090:8090 -v ./music:/app/music hanxi/xiaomusic:main --entrypoint '.venv/bin/python3 xiaomusic.py --verbose'

你试试这样能不能行,docker 用前台模式启动,用 main 分支的镜像,然后修改 entrypoint 传参数进去。
huangmingyou
287 天前
@hanxiV2EX 我调试了,拉列表的时候,disconnect,我用 curl 测试,发现 http 协议可以,https 协议卡住。
hanxiV2EX
287 天前
huangmingyou
287 天前
@hanxiV2EX 不是,就是纯粹的 https 不能连,我在 docker 里面,用 curl https://www.baidu.com 就卡住,用 curl http:www.baidu.com 就正常。我测试用 ubuntu:22.04 的 docker 是可以 curl https 的。
huangmingyou
287 天前
host 是可以 curl https 的,另外 docker 里面我看是有 ca-certificates 包的。
hanxiV2EX
287 天前
@huangmingyou 那你这个应该是系统问题了,我的系统也是 ubuntu 2204 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX