hanxi / xiaomusic

使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。
https://github.com/hanxi/xiaomusic
MIT License
904 stars 89 forks source link

如何使音箱停止播放 #103

Open iamryanchia opened 5 days ago

iamryanchia commented 5 days ago

你好,我正在结合你的项目和 shairport-sync 开发一个服务使小爱音箱支持 airplay 播放。

我使用的设备型号是 L05C,通过最新版 MiService 提供的 player_play_music 接口测试播放音乐没有问题。 停止播放目前通过 http 接口不返回数据实现,在不返回数据的情况下,音箱会重试几次接口最终拿不到数据后停止调用。

但是我发现通过这种方式停止,音箱实际上仍处于播放状态,音箱顶部的灯一直处于呼吸灯时亮时暗的状态。 python MiService/micli.py 3-1 获取的音箱播放状态是 1,小爱音箱 APP 停止播放后获取的状态是 null。

我测试了 player_pauseplayer_stop 两个接口好像都不起作用,调用之后获取播放状态仍然是 1,不确定是不是这两个接口和我的音箱型号不兼容。

想请教下如何使音箱停止播放,有没有什么建议?感谢!

hanxi commented 5 days ago

https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L326-L346

尝试一下这样写?目前了解到你的型号 pause 接口能暂停的,stop 接口应该是不行的。

可能是 player_play_music 接口的问题,你可以抓包小爱音箱 app 试试,把参数补全。

iamryanchia commented 5 days ago

https://github.com/hanxi/xiaomusic/blob/main/xiaomusic/xiaomusic.py#L326-L346

尝试一下这样写?目前了解到你的型号 pause 接口能暂停的,stop 接口应该是不行的。

可能是 player_play_music 接口的问题,你可以抓包小爱音箱 app 试试,把参数补全。

好的,等我下班回去试一下