From 0f88f43a0270c48e9514ea0eebbde36c875c4c5e Mon Sep 17 00:00:00 2001 From: fragrans Date: Sat, 17 Jan 2026 20:09:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8F=AA=E6=9C=89=E4=B8=80=E5=8D=95?= =?UTF-8?q?=E9=9F=B3=E4=B9=90=EF=BC=8C=E5=90=8C=E6=97=B6=E4=B8=8D=E5=9C=A8?= =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=88=97=E8=A1=A8=E4=B8=AD=E6=97=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=92=AD=E6=94=BE=E5=88=97=E8=A1=A8=20(#703)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/device_player.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/xiaomusic/device_player.py b/xiaomusic/device_player.py index a89b60a..e697669 100644 --- a/xiaomusic/device_player.py +++ b/xiaomusic/device_player.py @@ -208,7 +208,7 @@ class XiaoMusicDevice: async def _play(self, name="", search_key="", exact=True, update_cur_list=False): """播放歌曲(内部实现)""" - if search_key == "" and name == "": + if not search_key and not name: if self.check_play_next(): await self._play_next() return @@ -224,16 +224,17 @@ class XiaoMusicDevice: name, n=self.config.search_music_count ) self.log.info(f"play. names:{names} {len(names)}") - if len(names) > 0: + if names: if not exact: if len(names) > 1: # 大于一首歌才更新 self._play_list = names self.device.cur_playlist = "临时搜索列表" self.update_playlist() else: # 只有一首歌,append - self._play_list = self._play_list + names - self.device.cur_playlist = "临时搜索列表" - self.update_playlist(reorder=False) + if names[0] not in self._play_list: + self._play_list = self._play_list + names + self.device.cur_playlist = "临时搜索列表" + self.update_playlist(reorder=False) name = names[0] if update_cur_list and (name not in self._play_list): # 根据当前歌曲匹配歌曲列表 @@ -244,6 +245,7 @@ class XiaoMusicDevice: ) # 本地存在歌曲,直接播放 await self._playmusic(name) + elif not self.xiaomusic._music_library.is_music_exist(name): self.log.info(f"本地不存在歌曲{name}") if self.config.disable_download: