From fe54ad29e26aae48c452924b4d57cb2724346acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sat, 7 Dec 2024 15:54:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=92=AD=E6=94=BE=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=87=8D=E8=AF=95=E6=AC=A1=E6=95=B010?= =?UTF-8?q?=E6=AC=A1=EF=BC=8C=E8=A7=A3=E5=86=B3=E8=AE=BE=E5=A4=87=E5=A4=B1?= =?UTF-8?q?=E8=81=94=E5=90=8E=E6=97=A0=E9=99=90=E9=87=8D=E8=AF=95=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/xiaomusic.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 5ab1ed9..553418c 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -1290,6 +1290,7 @@ class XiaoMusicDevice: self._start_time = 0 self._duration = 0 self._paused_time = 0 + self._play_failed_cnt = 0 self._play_list = [] @@ -1479,11 +1480,18 @@ class XiaoMusicDevice: self.log.info(f"播放 {url}") results = await self.group_player_play(url, name) if all(ele is None for ele in results): - self.log.info(f"播放 {name} 失败") + self.log.info(f"播放 {name} 失败. 失败次数: {self._play_failed_cnt}") await asyncio.sleep(1) - if self.isplaying() and self._last_cmd != "stop": + if ( + self.isplaying() + and self._last_cmd != "stop" + and self._play_failed_cnt < 10 + ): + self._play_failed_cnt = self._play_failed_cnt + 1 await self._play_next() return + # 重置播放失败次数 + self._play_failed_cnt = 0 self.log.info(f"【{name}】已经开始播放了") await self.xiaomusic.analytics.send_play_event(name, sec, self.hardware) @@ -1839,7 +1847,7 @@ class XiaoMusicDevice: self._last_cmd = "play_music_list" self.device.cur_playlist = list_name self.update_playlist() - self.log.info(f"开始播放列表{list_name}") + self.log.info(f"开始播放列表{list_name} {music_name}") await self._play(music_name, exact=True) async def stop(self, arg1=""):