From 6fe794fdf5c4b2fcd0587ec6ce063e64a53c093a Mon Sep 17 00:00:00 2001 From: lyswhut Date: Mon, 28 Sep 2020 22:53:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=85=B7=E7=8B=97=E6=AD=8C?= =?UTF-8?q?=E8=AF=8D=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/store/modules/download.js | 9 ++++++++- src/renderer/utils/music/kg/lyric.js | 4 +--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/renderer/store/modules/download.js b/src/renderer/store/modules/download.js index 6a5f2a09..db8c13cb 100644 --- a/src/renderer/store/modules/download.js +++ b/src/renderer/store/modules/download.js @@ -158,6 +158,9 @@ const getUrl = (downloadInfo, isRefresh) => { return url && !isRefresh ? Promise.resolve({ url }) : music[downloadInfo.musicInfo.source].getMusicUrl(downloadInfo.musicInfo, downloadInfo.type).promise } +// 修复 1.1.x版本 酷狗源歌词格式 +const fixKgLyric = lrc => lrc.startsWith('\ufeff[id:$00000000]') ? lrc.replace(/(?:\[00:(\d\d:\d\d.\d+\]))/gm, '[$1') : lrc + /** * 设置歌曲meta信息 * @param {*} downloadInfo @@ -185,6 +188,7 @@ const saveMeta = (downloadInfo, filePath, isEmbedPic, isEmbedLyric) => { : Promise.resolve(), ] Promise.all(tasks).then(([imgUrl, lyrics = {}]) => { + if (lyrics.lyric) lyrics.lyric = fixKgLyric(lyrics.lyric) setMeta(filePath, { title: downloadInfo.musicInfo.name, artist: downloadInfo.musicInfo.singer, @@ -205,7 +209,10 @@ const downloadLyric = (downloadInfo, filePath) => { ? Promise.resolve({ lyric: downloadInfo.musicInfo.lrc, tlyric: downloadInfo.musicInfo.tlrc || '' }) : music[downloadInfo.musicInfo.source].getLyric(downloadInfo.musicInfo).promise promise.then(lrcs => { - if (lrcs.lyric) saveLrc(filePath.replace(/(mp3|flac|ape|wav)$/, 'lrc'), lrcs.lyric) + if (lrcs.lyric) { + lrcs.lyric = fixKgLyric(lrcs.lyric) + saveLrc(filePath.replace(/(mp3|flac|ape|wav)$/, 'lrc'), lrcs.lyric) + } }) } diff --git a/src/renderer/utils/music/kg/lyric.js b/src/renderer/utils/music/kg/lyric.js index 52b66612..e5398e24 100644 --- a/src/renderer/utils/music/kg/lyric.js +++ b/src/renderer/utils/music/kg/lyric.js @@ -21,12 +21,10 @@ const parseLyric = str => { let time = parseInt(result[2]) let ms = time % 1000 time /= 1000 - let h = parseInt(time / 3600).toString().padStart(2, '0') - time %= 3600 let m = parseInt(time / 60).toString().padStart(2, '0') time %= 60 let s = parseInt(time).toString().padStart(2, '0') - time = `${h}:${m}:${s}.${ms}` + time = `${m}:${s}.${ms}` if (tlyric) tlyric[i] = `[${time}]${tlyric[i++][0]}` return str.replace(result[1], time) })