xiaomusic icon indicating copy to clipboard operation
xiaomusic copied to clipboard

💬 FAQ问题集合

Open hanxi opened this issue 1 year ago • 139 comments

[!NOTE] 这个 issue 用来总结报错日志和对应的解决方法。

❓ XIAOMUSIC_HOSTNAME 怎么填

填写 docker 主机的 ip ,不是小爱音箱的ip,一般就是网页访问的后台地址里的 ip ,只要确保 ip 和小爱音箱在一个局域网内就行。

同时也支持 xx.xx.com 的域名格式,用于配置反代供外网访问,比如小爱音箱和 docker 主机不在同一个局域网内。

❓ Login Failed 登陆失败

表现就是 后台看不到设备列表 ,日志中会有对应的报错。

这个有专门的讨论,见 https://github.com/hanxi/xiaomusic/issues/16 ,一般是因为开了加速代理,关代理再尝试即可。也可以试试在局域网设备里的米家app上退出再重新登录一下。

在小米官网 www.mi.com 登陆过人脸或滑块验证基本上能解决 99%的 login failed 问题。

来自 @yilikun 的友情提示:

  1. 关闭本地代理。
  2. 如果是nas运行的,网络由bridge改为host。
  3. 米家app重新登陆。
  4. mi.com官网重新登陆。
  5. 检查 setting.json 文件里的账号密码是否正确。

如果是在 openwrt 类路由器系统上安装的,请检查路由器的防火墙设置。

❓ 网页后台可以播放,语音控制无效

这种情况是拉取不到对话记录导致的。 如果是首次在网页后台保存 did 后需要重启一次容器。 其他情况可能是被限制拉取对话记录次数,也可以尝试重启容器。 还有一种情况是配错了唤醒口令,可以在小爱音箱app里查看对话记录,也可以查看 xiaomusic 的日志。默认口令前缀是【播放歌曲】,没有这个前缀是无法识别的,说播放音乐是没用的,除非自己设置其他口令词。 已知 M01/XMYX01JY 小米小爱音箱HD 获取对话记录的接口比较特殊,需要开启【特殊型号获取对话记录:】开关才能正常语音控制。

❓ 日志显示正在播放,却没有声音

可以点击播放链接按钮,看看默认的那个链接能否播放。

已知部分触屏版不能播放可以在后台设置 【型号兼容模式】为 true 试试。如果你的设备型号需要手动设置这个选项,请在 https://github.com/hanxi/xiaomusic/issues/453 中反馈。

其他情况可能是 XIAOMUSIC_HOSTNAME 配错了地址,不是 docker 主机地址会导致小爱音箱无法访问到,而且需要和小爱音箱在同一个局域网下的地址。还有可能是端口配错了,修改了默认 8090 端口映射,需要同步修改其他参数,可以翻阅端口修改的文档。

如果端口不是8090,首次启动没配好端口的话,需要手动修改setting.json文件里的端口,或者把setting.json文件删除重新配置,或者在后台修改监听端口后重启。

可以点击播放歌曲后,查看日志里的歌曲链接,放到浏览器里打开试试,不能访问说明是端口或者hostname问题,如果是异地访问,需要把 hostname 修改为外网ip或者域名,需要注意音箱只支持访问ipv4,不能是ipv6的公网。

如果是配了公网反代端口,注意区分是 http 还是 https ,如果是 https 的,配置 XIAOMUSIC_HOSTNAME 时需要加上 https:// 前缀。

如果是在 openwrt 类路由器系统上安装的,请检查路由器的防火墙设置。

如果是在 windows 上安装的,请关闭防火墙。另外ip别填localhost,填192开头的那个ip.

❓ 无法播放 flac 格式歌曲

因设备差异和文件格式差异,已知部分设备不支持 flac 格式,比如 L05B L05C 。

❓ docker 镜像拉取失败

请更换镜像源或者使用代理。不同环境更换镜像源的方式不一样,可以网上搜索自己的 NAS 如何更换镜像源。

已经可以通过 DaoCloud 拉取镜像。

docker pull m.daocloud.io/docker.io/hanxi/xiaomusic:latest
docker tag m.daocloud.io/docker.io/hanxi/xiaomusic:latest hanxi/xiaomusic:latest

更多镜像源见 https://github.com/hanxi/xiaomusic/issues/398

❓ 启动失败,日志中出现 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版本继续使用。~

❓ 如何配置多个歌曲目录

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:/music1D:/music2,盘符号开头,用 / 分割。

如果是 docker 部署的,建议不要去修改 web 后台里的音乐路径和配置路径等等所有路径除非你熟悉 docker 的目录映射机制。

❓ 能不能中文名

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

报错日志大致如下:

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 来操作:

docker run --rm -ti fathyb/carbonyl https://mi.com

或者使用 browsh

docker run --rm -it browsh/browsh --startup-url https://mi.com

在播放歌曲时,问小爱查询天气,小爱查询天气时,中途会断掉。

播放中会被xiaomusic接管,会跟原有功能冲突,需要先说关机来关闭xiaomusic的功能,再问小爱查询天气。

我家有个奇怪的问题,你给它暂停了,它过一会儿又自己开始唱了,不勘其扰。小爱重启都没用。

要说【关机】才能关掉 xiaomusic ,否则下一曲定时器到了会继续播放下一曲。

为什么播放进度条不能拖动

没有接口,目前做不到。

小爱触屏能不能显示本地的歌名歌词封面

可以,设置页面打开【启用继续播放】开关。

看不到歌曲列表

  1. 检查目录挂载是否正确
  2. 检查目录权限是否正确
  3. 检查文件夹名字是否是 UTF-8 格式

本机有声音,小爱音箱没声音,请问什么原因?

排查步骤:

  1. 测试链接是否能播放,能播放说明小爱音箱控制没问题,继续下一步排查。不能播放说明控制不了你的小爱音箱,一般是【型号兼容模式】设置问题。
  2. 小爱音箱和 NAS 是否在同一个局域网,检查 NAS 的 IP 和音箱的 IP 是否在同一个网段,不在同一个网段会导致音箱无法访问到 NAS 。如果在同一个局域网,检查 NAS 上的防火墙配置,关闭防火墙再测试,如果还是不行就继续下一步。
  3. 查看容器日志中的歌曲链接是否正常,点击后台页面上的播放歌曲时,容器中会有歌曲链接,一般是 http 开头的链接,复制完整链接到浏览器试试看能否打开,能打开说明网络没问题,继续下一步排查。不能打开有可能是 ip 和端口配置错误,请使用设置页面的自动填按钮自动填 ip 和端口。
  4. 歌曲文件格式是否是 mp3 格式,有些型号无法播放 flac 格式的歌曲,请使用 mp3 格式的歌曲文件测试,一个不行就多找几个文件测试。

在安装好第一次用语音正常,第二天就不能用语音了

拉取对话记录的问题。拉取对话记录太频繁了,可以使用定时任务功能,设置晚上关闭拉取对话记录。比如这样设置是早上6点开启拉取对话记录,晚上12点关闭:

[
   {
        "expression": "0 6 * * *",
        "name": "set_pull_ask",
        "arg1": "enable"
   },
   {
        "expression": "0 0 * * *",
        "name": "set_pull_ask",
        "arg1": "disable"
   }
]

播放下一首歌曲时会重复播放上一首歌曲的前几秒

时间延迟问题,可以把【下一首歌延迟播放秒数】设置成负数,表示提前几秒结束播放。

hanxi avatar Jul 01 '24 12:07 hanxi

安装的最新版本,即使没有使用,日志一直在不停的刷新,示例: [10:20:36] [0.1.101] [DEBUG] Polling_event, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:36] [0.1.101] [DEBUG] Sleep 0.0003166699898429215, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:37] [0.1.101] [DEBUG] Listening new message, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a

之前的版本没有这个问题,这个是设置错误?还是本来就如此呢?

shissx avatar Jul 08 '24 10:07 shissx

安装的最新版本,即使没有使用,日志一直在不停的刷新,示例: [10:20:36] [0.1.101] [DEBUG] Polling_event, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:36] [0.1.101] [DEBUG] Sleep 0.0003166699898429215, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a': 1720430457236} [10:20:37] [0.1.101] [DEBUG] Listening new message, timestamp: {'eeb70da5-baa9-4b56-b2f3-7ee01276a18a

之前的版本没有这个问题,这个是设置错误?还是本来就如此呢?

正常现象,现在默认把调试日志打开了,可以在后台设置关闭调试日志的。

hanxi avatar Jul 08 '24 10:07 hanxi

大佬,docker安装提示缺少很多module,我一个个在dockerfilie里加上,最后卡在miservice装不上了~

Dx0123 avatar Jul 25 '24 08:07 Dx0123

@Dx0123 其实不用手动安装依赖的,直接一行应该就行。

RUN pip install -U xiaomusic

hanxi avatar Jul 25 '24 09:07 hanxi

@Dx0123 其实不用手动安装依赖的,直接一行应该就行。

RUN pip install -U xiaomusic

我直接用pip安装好之后,执行仍然有缺少的依赖,和docker里缺的一样。截图的module安装了之后还会有其他依赖缺失 image

Dx0123 avatar Jul 25 '24 09:07 Dx0123

@Dx0123 你的python版本是不是有问题?你参考下项目里的Dockerfile,用同一个From镜像试试。

hanxi avatar Jul 25 '24 10:07 hanxi

有时候指令已停止,可是一会儿,又自动播放下一首,根本就停不下来。需要重启容器才能正常

点关机按钮也不行吗?

hanxi avatar Jul 27 '24 13:07 hanxi

有时候指令已停止,可是一会儿,又自动播放下一首,根本就停不下来。需要重启容器才能正常

点关机按钮也不行吗?

是的,说关机,点关机,暂停都不行。只能重启容器。

有没有日志看看?

hanxi avatar Jul 28 '24 00:07 hanxi

为什么我的没有显示设备? Snipaste_2024-09-14_15-51-00

sqmcool avatar Sep 14 '24 07:09 sqmcool

为什么我的没有显示设备? Snipaste_2024-09-14_15-51-00

应该是登陆失败,可以查看一下日志。

hanxi avatar Sep 14 '24 09:09 hanxi

楼主您好,请问这个我需要怎么处理? 微信截图_20240915225040

schppd avatar Sep 15 '24 14:09 schppd

楼主您好,请问这个我需要怎么处理? 微信截图_20240915225040

删掉重新配置一下试试。

hanxi avatar Sep 15 '24 14:09 hanxi

会不会跟网络不稳定有关系?我都弄了几次还是这样子

------------------ 原始邮件 ------------------ 发件人: "hanxi/xiaomusic" @.>; 发送时间: 2024年9月15日(星期天) 晚上10:57 @.>; @.@.>; 主题: Re: [hanxi/xiaomusic] FAQ问题集合 (Issue #99)

楼主您好,请问这个我需要怎么处理?

删掉重新配置一下试试。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

schppd avatar Sep 15 '24 14:09 schppd

会不会跟网络不稳定有关系?我都弄了几次还是这样子 ------------------ 原始邮件 ------------------ 发件人: "hanxi/xiaomusic" @.>; 发送时间: 2024年9月15日(星期天) 晚上10:57 @.>; @.@.>; 主题: Re: [hanxi/xiaomusic] FAQ问题集合 (Issue #99) 楼主您好,请问这个我需要怎么处理? 删掉重新配置一下试试。 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

有可能的,用代理试试。

hanxi avatar Sep 15 '24 15:09 hanxi

定制的时候,"全部"和”所有歌曲"的区别,帮助有需要的朋友: 歌单中 "全部" 指的是 所有歌单中歌曲,但不包括“歌单内容”配置(http://127.0.0.1:8090/static/setting.html)中的电台 "type": "radio",的 ”所有歌曲" 指的是下载的歌曲,在download文件夹里

guoxiangke avatar Sep 17 '24 04:09 guoxiangke

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

agigogo avatar Sep 20 '24 05:09 agigogo

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

设置页面输入小米的账号密码后,再勾选一个设备。

hanxi avatar Sep 20 '24 06:09 hanxi

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

设置页面输入小米的账号密码后,再勾选一个设备。

设置页面里没有勾选的选项

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

设置页面输入小米的账号密码后,再勾选一个设备。

image 设置页面没有可勾选项?

agigogo avatar Sep 21 '24 02:09 agigogo

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

设置页面输入小米的账号密码后,再勾选一个设备。

设置页面里没有勾选的选项

image 在docker里可以运行,但是没法播放设置页面中的播放链接,选中设备那里是空的,是不是没成功?怎么调整?

设置页面输入小米的账号密码后,再勾选一个设备。

image 设置页面没有可勾选项?

image

显示未检测到设备,设备型号是MDZ-25-DA

agigogo avatar Sep 21 '24 02:09 agigogo

@agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。

hanxi avatar Sep 21 '24 03:09 hanxi

@agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。

一直都是用米家APP来控制小爱音箱,那要下个小爱音响APP试一试

agigogo avatar Sep 21 '24 04:09 agigogo

@agigogo 应该是登陆失败了,局域网的手机重新登陆一下小爱音箱app吧。

搞定了,小爱音箱app重新绑定就可以了。真6~

agigogo avatar Sep 21 '24 05:09 agigogo

一首歌结束不能自动切到下一首,随机播放模式,日志中显示下一曲定时器不见了....这个是咋回事啊

Tueafternoon avatar Oct 27 '24 20:10 Tueafternoon

一首歌结束不能自动切到下一首,随机播放模式,日志中显示下一曲定时器不见了....这个是咋回事啊

可能是音乐文件有问题,获取歌曲长度失败,你可以把歌曲文件上传一下给我测试。

hanxi avatar Oct 28 '24 03:10 hanxi

或者搜下日志里有没有 不会设置下一首歌的定时器 这个

hanxi avatar Oct 28 '24 03:10 hanxi

或者搜下日志里有没有 不会设置下一首歌的定时器 这个

有这个,应该是我的文件格式问题,晚上我处理一下再试试

Tueafternoon avatar Oct 28 '24 06:10 Tueafternoon

Screenshot_2024-10-31-23-28-57-903_com.android.chrome.jpg

istore系统可以拉取创建镜像,但是无法启动,错误提示见图一,求助大佬!路由器信息见图二Screenshot_2024-10-31-23-36-42-846-edit_com.android.chrome.jpg

zealler9560 avatar Oct 31 '24 15:10 zealler9560

在群晖使用docker安装的,只能通过重装来升级到最新版本吗?有快捷的一键升级吗

adidas004 avatar Nov 11 '24 08:11 adidas004

在群晖使用docker安装的,只能通过重装来升级到最新版本吗?有快捷的一键升级吗

不会命令行,就用这个工具吧。 https://github.com/onlyLTY/dockerCopilot

hanxi avatar Nov 11 '24 08:11 hanxi

谢谢您的工具,我刚去群晖的docker上有提示直接升级,还是非常的感觉你的回答

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2024年11月11日(星期一) 下午4:20 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [hanxi/xiaomusic] 💬 FAQ问题集合 (Issue #99)

在群晖使用docker安装的,只能通过重装来升级到最新版本吗?有快捷的一键升级吗

不会命令行,就用这个工具吧。 https://github.com/onlyLTY/dockerCopilot

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

adidas004 avatar Nov 11 '24 09:11 adidas004