diff --git a/xiaomusic/config.py b/xiaomusic/config.py index 0dc9cb4..29d6f08 100644 --- a/xiaomusic/config.py +++ b/xiaomusic/config.py @@ -80,6 +80,7 @@ class Device: play_type: int = PLAY_TYPE_RND cur_music: str = "" cur_playlist: str = "" + playlist2music: dict[str, str] = field(default_factory=dict) @dataclass diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index eb0ac1a..1e26be0 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -1809,6 +1809,7 @@ class XiaoMusicDevice: self._playing = True self.device.cur_music = name + self.device.playlist2music[self.device.cur_playlist] = name self.log.info(f"cur_music {self.get_cur_music()}") sec, url = await self.xiaomusic.get_music_sec_url(name) @@ -2202,6 +2203,8 @@ class XiaoMusicDevice: self._last_cmd = "play_music_list" self.device.cur_playlist = list_name self.update_playlist() + if not music_name: + music_name = self.device.playlist2music[list_name] self.log.info(f"开始播放列表{list_name} {music_name}") await self._play(music_name, exact=True)