From 2337a3e8a3228db53f6404310984f3898d2d01f7 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Thu, 28 Dec 2023 14:53:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0=E6=AD=8C?= =?UTF-8?q?=E6=9B=B2=E6=AD=8C=E8=AF=8D=E8=8E=B7=E5=8F=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/core/music/local.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/renderer/core/music/local.ts b/src/renderer/core/music/local.ts index 7eb9eac7..050f2dd7 100644 --- a/src/renderer/core/music/local.ts +++ b/src/renderer/core/music/local.ts @@ -116,15 +116,14 @@ export const getLyricInfo = async({ musicInfo, isRefresh, onToggleSource = () => onToggleSource?: (musicInfo?: LX.Music.MusicInfoOnline) => void }): Promise => { if (!isRefresh) { - const lyricInfo = await getCachedLyricInfo(musicInfo) - if (lyricInfo) { - // 存在已编辑、原始歌词 - if (lyricInfo.rawlrcInfo.lyric) return buildLyricInfo(lyricInfo) + const [lyricInfo, fileLyricInfo] = await Promise.all([getCachedLyricInfo(musicInfo), window.lx.worker.main.getMusicFileLyric(musicInfo.meta.filePath)]) + if (lyricInfo?.lyric && lyricInfo.lyric != lyricInfo.rawlrcInfo.lyric) { + // 存在已编辑歌词 + return buildLyricInfo({ ...lyricInfo, rawlrcInfo: fileLyricInfo ?? lyricInfo.rawlrcInfo }) } - // 尝试读取文件内歌词 - const rawlrcInfo = await window.lx.worker.main.getMusicFileLyric(musicInfo.meta.filePath) - if (rawlrcInfo) return buildLyricInfo(lyricInfo ? { ...lyricInfo, rawlrcInfo } : rawlrcInfo) + if (fileLyricInfo) return buildLyricInfo(fileLyricInfo) + if (lyricInfo?.lyric) return buildLyricInfo(lyricInfo) } onToggleSource()