From 40a3e240712f4cbe83ebe880a27b9d57d6bb5205 Mon Sep 17 00:00:00 2001 From: "Gao, Ruiyuan" <905370712@qq.com> Date: Thu, 26 Sep 2024 22:34:00 +0800 Subject: [PATCH] bugfix: cannot can async.run when there is a running loop (#207) --- xiaomusic/xiaomusic.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 6e51a92..eaa3867 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -1266,7 +1266,7 @@ class XiaoMusicDevice: self.log.info(f"正在下载中 {search_key} {name}") await self._download_proc.wait() # 把文件插入到播放列表里 - self.add_download_music(name) + await self.add_download_music(name) await self._playmusic(name) # 下一首 @@ -1488,11 +1488,11 @@ class XiaoMusicDevice: return self._playing # 把下载的音乐加入播放列表 - def add_download_music(self, name): + async def add_download_music(self, name): filepath = os.path.join(self.download_path, f"{name}.mp3") self.xiaomusic.all_music[name] = filepath # 应该很快,阻塞运行 - asyncio.run(self.xiaomusic._gen_all_music_tag({name: filepath})) + await self.xiaomusic._gen_all_music_tag({name: filepath}) if name not in self._play_list: self._play_list.append(name) self.log.info(f"add_download_music add_music {name}")