From 69ccb272af9ff16d3d337ed963599a059f5af4c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Sun, 11 Jan 2026 20:26:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=80=89=E5=A4=9A=E4=B8=AA=E6=AD=8C=E6=9B=B2?= =?UTF-8?q?=E7=BB=84=E6=88=90=E4=B8=80=E4=B8=AA=E6=AD=8C=E5=8D=95=E6=92=AD?= =?UTF-8?q?=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/crontab.py | 16 +++++++++++++++- xiaomusic/device_player.py | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/xiaomusic/crontab.py b/xiaomusic/crontab.py index 0edbdc4..f1dbaab 100644 --- a/xiaomusic/crontab.py +++ b/xiaomusic/crontab.py @@ -104,6 +104,20 @@ class Crontab: self.add_job(expression, job) + # 添加播放自定义列表任务 + def add_job_play_music_tmp_list(self, expression, xiaomusic, did, arg1, **kwargs): + async def job(): + name = arg1 or "crontab_tmp_list" + cron = kwargs["cron"] + music_list = cron["music_list"] + music_name = cron.get("first", "") + ret = xiaomusic.play_list_update_music(name, music_list) + if not ret: + self.log.warning(f"crontb play_list_update_music failed name:{name}") + await xiaomusic.do_play_music_list(did, name, music_name) + + self.add_job(expression, job) + # 添加语音播放任务 def add_job_tts(self, expression, xiaomusic, did, arg1, **kwargs): async def job(): @@ -166,7 +180,7 @@ class Crontab: jobname = f"add_job_{name}" func = getattr(self, jobname, None) if callable(func): - func(expression, xiaomusic, did=did, arg1=arg1) + func(expression, xiaomusic, did=did, arg1=arg1, cron=cron) self.log.info( f"crontab add_job_cron ok. did:{did}, name:{name}, arg1:{arg1} expression:{expression}" ) diff --git a/xiaomusic/device_player.py b/xiaomusic/device_player.py index 2e4c100..f59fb12 100644 --- a/xiaomusic/device_player.py +++ b/xiaomusic/device_player.py @@ -764,7 +764,7 @@ class XiaoMusicDevice: self.device.cur_playlist = list_name self.update_playlist() if not music_name: - music_name = self.device.playlist2music.get(list_name) + music_name = self.device.playlist2music.get(list_name, "") self.log.info(f"开始播放列表{list_name} {music_name}") await self._play(music_name, exact=True)