From db17526e20c0686e67564a5c6fdb779b06d8edc0 Mon Sep 17 00:00:00 2001 From: boluofan <40459801+boluofan@users.noreply.github.com> Date: Sun, 11 Jan 2026 16:37:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E3=80=90=E5=90=AF?= =?UTF-8?q?=E7=94=A8=E3=80=91=E7=BD=91=E7=BB=9C=E6=AD=8C=E6=9B=B2=E8=BF=87?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=90=8E=EF=BC=8C=E5=9C=A8=E7=BA=BF=E6=AD=8C?= =?UTF-8?q?=E6=9B=B2=E6=92=AD=E6=94=BE=E9=93=BE=E6=8E=A5=E8=A2=ABbase?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E4=B8=A4=E6=AC=A1bug=20(#664)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/music_url.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/xiaomusic/music_url.py b/xiaomusic/music_url.py index 126ceb2..7754c5c 100644 --- a/xiaomusic/music_url.py +++ b/xiaomusic/music_url.py @@ -64,7 +64,7 @@ class MusicUrlHandler: return 0, url # 在线歌曲:时长、播放链接获取 if self.music_library.is_online_music(cur_playlist): - return await self._get_online_music_sec_url(name, url) + return await self._get_online_music_sec_url(name, url, origin_url) if self.music_library.is_web_music(name): sec = await self._get_web_music_duration(name, url, origin_url) else: @@ -180,16 +180,19 @@ class MusicUrlHandler: # 获取最终重定向的 URL return str(response.url) - async def _get_online_music_sec_url(self, name, proxy_url): + async def _get_online_music_sec_url(self, name, proxy_url, origin_url): """获取在线音乐的时长和播放地址 Args: name: 歌曲名称 - proxy_url: 代理的播放url + proxy_url: 【在线歌曲】专用代理的播放url + origin_url: 未经过【网络歌曲代理】的连接 Returns: tuple: (播放时长, 原始地址) """ - source_url = await self.get_play_url(proxy_url) + # 默认使用 未经过【网络歌曲代理】的连接,如不存在说明 未启用【网络歌曲代理】,使用proxy_url + request_url = origin_url if origin_url else proxy_url + source_url = await self.get_play_url(request_url) sec = await self._get_online_music_duration(name, source_url) return sec, source_url