From 45a7d65c07574c1395121f211aef9762cc17556d Mon Sep 17 00:00:00 2001 From: "Issues Docs [BOT]" Date: Sat, 18 Jan 2025 01:42:12 +0000 Subject: [PATCH] =?UTF-8?q?Auto-Generate=20docs=20=F0=9F=A4=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/issues/99.md | 368 +++++++++++++++++++++++----------------------- 1 file changed, 186 insertions(+), 182 deletions(-) diff --git a/docs/issues/99.md b/docs/issues/99.md index 41752de..03d0bd7 100644 --- a/docs/issues/99.md +++ b/docs/issues/99.md @@ -4,188 +4,192 @@ title: 💬 FAQ问题集合 # 💬 FAQ问题集合 -> [!NOTE] -> 这个 issue 用来总结报错日志和对应的解决方法。 - -## ❓ XIAOMUSIC_HOSTNAME 怎么填 - -填写 docker 主机的 ip ,**不是小爱音箱的ip**,一般就是网页访问的后台地址里的 ip ,只要确保 ip 和小爱音箱在一个局域网内就行。 - -同时也支持 xx.xx.com 的域名格式,用于配置反代供外网访问,比如小爱音箱和 docker 主机不在同一个局域网内。 - - -## ❓ Login Failed 登陆失败 - -表现就是 **后台看不到设备列表** ,日志中会有对应的报错。 - -这个有专门的讨论,见 ,一般是因为开了加速代理,关代理再尝试即可。也可以试试在局域网设备里的米家app上退出再重新登录一下。 - -在小米官网 www.mi.com 登陆过人脸或滑块验证基本上能解决 99%的 login failed 问题。 - -来自 @yilikun 的友情提示: -> 1. 关闭本地代理。 -> 2. 如果是nas运行的,网络由bridge改为host。 -> 3. 米家app重新登陆。 -> 4. mi.com官网重新登陆。 -> 5. 检查 setting.json 文件里的账号密码是否正确。 - -## ❓ 网页后台可以播放,语音控制无效 - -这种情况是拉取不到对话记录导致的。 -如果是首次在网页后台保存 did 后需要重启一次容器。 -其他情况可能是被限制拉取对话记录次数,也可以尝试重启容器。 -还有一种情况是配错了唤醒口令,可以在小爱音箱app里查看对话记录,也可以查看 xiaomusic 的日志。默认口令前缀是【播放歌曲】,没有这个前缀是无法识别的,说播放音乐是没用的,除非自己设置其他口令词。 -已知 `M01/XMYX01JY 小米小爱音箱HD` 获取对话记录的接口比较特殊,需要开启【特殊型号获取对话记录:】开关才能正常语音控制。 - -## ❓ 日志显示正在播放,却没有声音 - -可以点击播放链接按钮,看看默认的那个链接能否播放。 - -已知部分触屏版不能播放可以在后台设置 【型号兼容模式】为 true 试试。 - -其他情况可能是 XIAOMUSIC_HOSTNAME 配错了地址,不是 docker 主机地址会导致小爱音箱无法访问到,而且需要和小爱音箱在同一个**局域网**下的地址。还有可能是端口配错了,**修改了默认 8090 端口映射**,需要同步修改其他参数,可以翻阅端口修改的文档。 - -如果端口不是8090,首次启动没配好端口的话,需要手动修改setting.json文件里的端口,或者把setting.json文件删除重新配置,或者在后台修改监听端口后重启。 - -可以点击播放歌曲后,查看日志里的歌曲链接,放到浏览器里打开试试,不能访问说明是端口或者hostname问题,如果是异地访问,需要把 hostname 修改为外网ip或者域名,需要注意音箱只支持访问ipv4,不能是ipv6的公网。 - -如果是配了公网反代端口,注意区分是 http 还是 https ,如果是 https 的,配置 XIAOMUSIC_HOSTNAME 时需要加上 `https:// ` 前缀。 - -## ❓ 无法播放 flac 格式歌曲 - -因设备差异和文件格式差异,已知部分设备不支持 flac 格式,比如 L05B L05C 。 - -## ❓ docker 镜像拉取失败 - -请更换镜像源或者使用代理。不同环境更换镜像源的方式不一样,可以网上搜索自己的 NAS 如何更换镜像源。 - -已经可以通过 [DaoCloud](https://github.com/DaoCloud/public-image-mirror) 拉取镜像。 - -``` -docker pull m.daocloud.io/docker.io/hanxi/xiaomusic:latest -docker tag m.daocloud.io/docker.io/hanxi/xiaomusic:latest hanxi/xiaomusic:latest -``` - -## ❓ 启动失败,日志中出现 RuntimeError: can't start new thread - -一般是 docker 版本太低,或者系统限制了 docker 使用的 cpu 数量,可以尝试升级 docker 到最新版本。 - -## ❓ DNS 解析错误 - -一般会出现下面这样的日志,表现就是设置页面看不到设备列表。 - -``` -aiohttp.client_ _exceptions. ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] -``` - -可以尝试把主机的 DNS 设为 223.5.5.5 之后重启 docker 主机。 - -如果还是不行可以把 docker 的网络模式改成 host 模式。 - - -## ❓ 点击播放后需要很久才开始播放的问题 - -这个问题新版本已经解决,如果还存在请反馈。 - -~目前0.3.x版本还存在这个问题没有完全解决,可以暂时回退到0.2.0版本继续使用。~ - -## ❓ 如何配置多个歌曲目录 - -```yaml -services: - xiaomusic: - image: hanxi/xiaomusic - container_name: xiaomusic - restart: unless-stopped - ports: - - 8090:8090 - volumes: - - /data/music1:/app/music/music1 - - /data/music2:/app/music/music2 - - /data/download:/app/music/download - - /data/xiaomusic/conf:/app/conf -``` - -冒号左边的 `/data/music1` 和 `/data/music2` 改成你的目录即可。如果你是 windows 的 docker ,可以改成 `D:/music1` 和 `D:/music2`,盘符号开头,用 `/` 分割。 - -如果是 docker 部署的,建议不要去修改 web 后台里的音乐路径和配置路径等等所有路径除非你熟悉 docker 的目录映射机制。 - -## ❓ 能不能中文名 - -```yaml -services: - xiaomusic: - image: hanxi/xiaomusic - container_name: xiaomusic - restart: unless-stopped - ports: - - 8090:8090 - volumes: - - /data/music1:/app/music/歌曲目录1 - - /data/music2:/app/music/歌曲目录2 - - /data/download:/app/music/download - - /data/xiaomusic/conf:/app/conf -``` - -## ❓ 能不能多层目录 - -可以,每层的每个目录会识别为一个播放列表。 - -## ❓ 是否需要手动获取 did - -新版本不需要手动获取配置 did,不需要配置环境变量,直接在 web 后台填入小米账号密码保存后会自动获取到 did ,然后勾选对应的设备即可。 - -## ❓ 报错 601 - -报错日志大致如下: - -```txt -Exception: Error https://api2.mina.mi.com/remote/ubus: {"code":601,"message":"illegal argument exception","data":"IllegalArgumentException: ubus call format illegal!"} -``` - -原因是没有配置 did ,或者 did 配置错误。可以到设置页面选择正确的设备类型和 did 然后保存。 - -## ❓ 新功能没有生效 - -在设置页面重新保存一下,或者删除 setting.json 文件,重新在后台设置一次。 - -## ❓ 为什么会先说小爱音箱自带的回答,再说下载中或者过一会儿才播放本地歌曲 - -设计原理就是每秒不停的抓取对话记录,然后再打断小爱音箱自带的处理流程。整个过程下来会有延时,所以打断不会很及时,做不到无缝衔接。 - -## ❓ 云服务器上能否安装 - -可以安装,登录 mi.com 这个步骤可以使用终端里的浏览器 [carbonyl](https://github.com/fathyb/carbonyl) 来操作: - -```shell -docker run --rm -ti fathyb/carbonyl https://mi.com -``` - -或者使用 [browsh](https://github.com/browsh-org/browsh) - -```shell -docker run --rm -it browsh/browsh --startup-url https://mi.com -``` - -## 在播放歌曲时,问小爱查询天气,小爱查询天气时,中途会断掉。 - -播放中会被xiaomusic接管,会跟原有功能冲突,需要先说关机来关闭xiaomusic的功能,再问小爱查询天气。 - -## 我家有个奇怪的问题,你给它暂停了,它过一会儿又自己开始唱了,不勘其扰。小爱重启都没用。 - -要说【关机】才能关掉 xiaomusic ,否则下一曲定时器到了会继续播放下一曲。 - -## 为什么播放进度条不能拖动 - -没有接口,目前做不到。 - -## 本机有声音,小爱音箱没声音,请问什么原因? - -排查步骤: - -1. 测试链接是否能播放,能播放说明小爱音箱控制没问题,继续下一步排查。不能播放说明控制不了你的小爱音箱,一般是【型号兼容模式】设置问题。 -3. 小爱音箱和 NAS 是否在同一个局域网,检查 NAS 的 IP 和音箱的 IP 是否在同一个网段,不在同一个网段会导致音箱无法访问到 NAS 。如果在同一个局域网,检查 NAS 上的防火墙配置,关闭防火墙再测试,如果还是不行就继续下一步。 -4. 查看容器日志中的歌曲链接是否正常,点击后台页面上的播放歌曲时,容器中会有歌曲链接,一般是 http 开头的链接,复制完整链接到浏览器试试看能否打开,能打开说明网络没问题,继续下一步排查。不能打开有可能是 ip 和端口配置错误,请使用设置页面的自动填按钮自动填 ip 和端口。 +> [!NOTE] +> 这个 issue 用来总结报错日志和对应的解决方法。 + +## ❓ XIAOMUSIC_HOSTNAME 怎么填 + +填写 docker 主机的 ip ,**不是小爱音箱的ip**,一般就是网页访问的后台地址里的 ip ,只要确保 ip 和小爱音箱在一个局域网内就行。 + +同时也支持 xx.xx.com 的域名格式,用于配置反代供外网访问,比如小爱音箱和 docker 主机不在同一个局域网内。 + + +## ❓ Login Failed 登陆失败 + +表现就是 **后台看不到设备列表** ,日志中会有对应的报错。 + +这个有专门的讨论,见 ,一般是因为开了加速代理,关代理再尝试即可。也可以试试在局域网设备里的米家app上退出再重新登录一下。 + +在小米官网 www.mi.com 登陆过人脸或滑块验证基本上能解决 99%的 login failed 问题。 + +来自 @yilikun 的友情提示: +> 1. 关闭本地代理。 +> 2. 如果是nas运行的,网络由bridge改为host。 +> 3. 米家app重新登陆。 +> 4. mi.com官网重新登陆。 +> 5. 检查 setting.json 文件里的账号密码是否正确。 + +## ❓ 网页后台可以播放,语音控制无效 + +这种情况是拉取不到对话记录导致的。 +如果是首次在网页后台保存 did 后需要重启一次容器。 +其他情况可能是被限制拉取对话记录次数,也可以尝试重启容器。 +还有一种情况是配错了唤醒口令,可以在小爱音箱app里查看对话记录,也可以查看 xiaomusic 的日志。默认口令前缀是【播放歌曲】,没有这个前缀是无法识别的,说播放音乐是没用的,除非自己设置其他口令词。 +已知 `M01/XMYX01JY 小米小爱音箱HD` 获取对话记录的接口比较特殊,需要开启【特殊型号获取对话记录:】开关才能正常语音控制。 + +## ❓ 日志显示正在播放,却没有声音 + +可以点击播放链接按钮,看看默认的那个链接能否播放。 + +已知部分触屏版不能播放可以在后台设置 【型号兼容模式】为 true 试试。 + +其他情况可能是 XIAOMUSIC_HOSTNAME 配错了地址,不是 docker 主机地址会导致小爱音箱无法访问到,而且需要和小爱音箱在同一个**局域网**下的地址。还有可能是端口配错了,**修改了默认 8090 端口映射**,需要同步修改其他参数,可以翻阅端口修改的文档。 + +如果端口不是8090,首次启动没配好端口的话,需要手动修改setting.json文件里的端口,或者把setting.json文件删除重新配置,或者在后台修改监听端口后重启。 + +可以点击播放歌曲后,查看日志里的歌曲链接,放到浏览器里打开试试,不能访问说明是端口或者hostname问题,如果是异地访问,需要把 hostname 修改为外网ip或者域名,需要注意音箱只支持访问ipv4,不能是ipv6的公网。 + +如果是配了公网反代端口,注意区分是 http 还是 https ,如果是 https 的,配置 XIAOMUSIC_HOSTNAME 时需要加上 `https:// ` 前缀。 + +## ❓ 无法播放 flac 格式歌曲 + +因设备差异和文件格式差异,已知部分设备不支持 flac 格式,比如 L05B L05C 。 + +## ❓ docker 镜像拉取失败 + +请更换镜像源或者使用代理。不同环境更换镜像源的方式不一样,可以网上搜索自己的 NAS 如何更换镜像源。 + +已经可以通过 [DaoCloud](https://github.com/DaoCloud/public-image-mirror) 拉取镜像。 + +``` +docker pull m.daocloud.io/docker.io/hanxi/xiaomusic:latest +docker tag m.daocloud.io/docker.io/hanxi/xiaomusic:latest hanxi/xiaomusic:latest +``` + +## ❓ 启动失败,日志中出现 RuntimeError: can't start new thread + +一般是 docker 版本太低,或者系统限制了 docker 使用的 cpu 数量,可以尝试升级 docker 到最新版本。 + +## ❓ DNS 解析错误 + +一般会出现下面这样的日志,表现就是设置页面看不到设备列表。 + +``` +aiohttp.client_ _exceptions. ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:False [Temporary failure in name resolution] +``` + +可以尝试把主机的 DNS 设为 223.5.5.5 之后重启 docker 主机。 + +如果还是不行可以把 docker 的网络模式改成 host 模式。 + + +## ❓ 点击播放后需要很久才开始播放的问题 + +这个问题新版本已经解决,如果还存在请反馈。 + +~目前0.3.x版本还存在这个问题没有完全解决,可以暂时回退到0.2.0版本继续使用。~ + +## ❓ 如何配置多个歌曲目录 + +```yaml +services: + xiaomusic: + image: hanxi/xiaomusic + container_name: xiaomusic + restart: unless-stopped + ports: + - 8090:8090 + volumes: + - /data/music1:/app/music/music1 + - /data/music2:/app/music/music2 + - /data/download:/app/music/download + - /data/xiaomusic/conf:/app/conf +``` + +冒号左边的 `/data/music1` 和 `/data/music2` 改成你的目录即可。如果你是 windows 的 docker ,可以改成 `D:/music1` 和 `D:/music2`,盘符号开头,用 `/` 分割。 + +如果是 docker 部署的,建议不要去修改 web 后台里的音乐路径和配置路径等等所有路径除非你熟悉 docker 的目录映射机制。 + +## ❓ 能不能中文名 + +```yaml +services: + xiaomusic: + image: hanxi/xiaomusic + container_name: xiaomusic + restart: unless-stopped + ports: + - 8090:8090 + volumes: + - /data/music1:/app/music/歌曲目录1 + - /data/music2:/app/music/歌曲目录2 + - /data/download:/app/music/download + - /data/xiaomusic/conf:/app/conf +``` + +## ❓ 能不能多层目录 + +可以,每层的每个目录会识别为一个播放列表。 + +## ❓ 是否需要手动获取 did + +新版本不需要手动获取配置 did,不需要配置环境变量,直接在 web 后台填入小米账号密码保存后会自动获取到 did ,然后勾选对应的设备即可。 + +## ❓ 报错 601 + +报错日志大致如下: + +```txt +Exception: Error https://api2.mina.mi.com/remote/ubus: {"code":601,"message":"illegal argument exception","data":"IllegalArgumentException: ubus call format illegal!"} +``` + +原因是没有配置 did ,或者 did 配置错误。可以到设置页面选择正确的设备类型和 did 然后保存。 + +## ❓ 新功能没有生效 + +在设置页面重新保存一下,或者删除 setting.json 文件,重新在后台设置一次。 + +## ❓ 为什么会先说小爱音箱自带的回答,再说下载中或者过一会儿才播放本地歌曲 + +设计原理就是每秒不停的抓取对话记录,然后再打断小爱音箱自带的处理流程。整个过程下来会有延时,所以打断不会很及时,做不到无缝衔接。 + +## ❓ 云服务器上能否安装 + +可以安装,登录 mi.com 这个步骤可以使用终端里的浏览器 [carbonyl](https://github.com/fathyb/carbonyl) 来操作: + +```shell +docker run --rm -ti fathyb/carbonyl https://mi.com +``` + +或者使用 [browsh](https://github.com/browsh-org/browsh) + +```shell +docker run --rm -it browsh/browsh --startup-url https://mi.com +``` + +## 在播放歌曲时,问小爱查询天气,小爱查询天气时,中途会断掉。 + +播放中会被xiaomusic接管,会跟原有功能冲突,需要先说关机来关闭xiaomusic的功能,再问小爱查询天气。 + +## 我家有个奇怪的问题,你给它暂停了,它过一会儿又自己开始唱了,不勘其扰。小爱重启都没用。 + +要说【关机】才能关掉 xiaomusic ,否则下一曲定时器到了会继续播放下一曲。 + +## 为什么播放进度条不能拖动 + +没有接口,目前做不到。 + +## 小爱触屏能不能显示本地的歌名歌词封面 + +可以,设置页面打开【继续播放】开关。 + +## 本机有声音,小爱音箱没声音,请问什么原因? + +排查步骤: + +1. 测试链接是否能播放,能播放说明小爱音箱控制没问题,继续下一步排查。不能播放说明控制不了你的小爱音箱,一般是【型号兼容模式】设置问题。 +3. 小爱音箱和 NAS 是否在同一个局域网,检查 NAS 的 IP 和音箱的 IP 是否在同一个网段,不在同一个网段会导致音箱无法访问到 NAS 。如果在同一个局域网,检查 NAS 上的防火墙配置,关闭防火墙再测试,如果还是不行就继续下一步。 +4. 查看容器日志中的歌曲链接是否正常,点击后台页面上的播放歌曲时,容器中会有歌曲链接,一般是 http 开头的链接,复制完整链接到浏览器试试看能否打开,能打开说明网络没问题,继续下一步排查。不能打开有可能是 ip 和端口配置错误,请使用设置页面的自动填按钮自动填 ip 和端口。 5. 歌曲文件格式是否是 mp3 格式,有些型号无法播放 flac 格式的歌曲,请使用 mp3 格式的歌曲文件测试,一个不行就多找几个文件测试。 ## 评论