diff --git a/src/decrypt/ncm.js b/src/decrypt/ncm.js index b6c0d98..764b5a6 100644 --- a/src/decrypt/ncm.js +++ b/src/decrypt/ncm.js @@ -35,7 +35,7 @@ export async function Decrypt(file, raw_filename, raw_ext) { const artists = []; if (!!musicMeta.artist) musicMeta.artist.forEach(arr => artists.push(arr[0])); - const info = GetFileInfo(artists.join(" & "), musicMeta.musicName, raw_filename); + const info = GetFileInfo(artists.join("; "), musicMeta.musicName, raw_filename); if (artists.length === 0) artists.push(info.artist); if (musicMeta.format === undefined) musicMeta.format = DetectAudioExt(audioData, "mp3"); @@ -49,13 +49,15 @@ export async function Decrypt(file, raw_filename, raw_ext) { audioData, artists, info.title, musicMeta.album, imageInfo.buffer, musicMeta.albumPic); } else if (musicMeta.format === "flac") { const writer = new MetaFlac(Buffer.from(audioData)) - //writer.setTag("TITLE=" + info.title); - //writer.setTag("ALBUM=" + musicMeta.album); - //artists.forEach(artist => writer.setTag("ARTIST=" + artist)); + if (writer.getTag("TITLE") === "") writer.setTag("TITLE=" + info.title) + if (writer.getTag("ALBUM") === "") writer.setTag("ALBUM=" + musicMeta.album) + writer.removeTag("ARTIST") + artists.forEach(artist => writer.setTag("ARTIST=" + artist)) writer.importPictureFromBuffer(Buffer.from(imageInfo.buffer)) audioData = writer.save() } } catch (e) { + //todo: 图片过大,无法写入 console.warn("Error while appending cover image to file " + e) }