mirror of
https://github.com/hanxi/xiaomusic.git
synced 2026-05-09 00:34:25 +08:00
feat: 定时任务支持选多个歌曲组成一个歌单播放
This commit is contained in:
@@ -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}"
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user