Fix #79 ncm->flac no metadata (file downloaded from phone)
This commit is contained in:
parent
fd2866f53d
commit
4a2d31238b
@ -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)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user