Merge pull request #117 from ix64/fix-qmc-meta

Fix incorrect id3 info for .qmc decryption
This commit is contained in:
MengYX 2020-12-17 08:36:10 +08:00 committed by GitHub
commit cf48554424
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 9 deletions

View File

@ -5,7 +5,8 @@ import {
GetFileInfo, GetFileInfo,
GetMetaCoverURL, GetMetaCoverURL,
GetWebImage, GetWebImage,
IXAREA_API_ENDPOINT IXAREA_API_ENDPOINT,
WriteMp3Meta
} from "./util"; } from "./util";
import {QmcMaskCreate58, QmcMaskDetectMflac, QmcMaskDetectMgg, QmcMaskGetDefault} from "./qmcMask"; import {QmcMaskCreate58, QmcMaskDetectMflac, QmcMaskDetectMgg, QmcMaskGetDefault} from "./qmcMask";
import {fromByteArray as Base64Encode, toByteArray as Base64Decode} from 'base64-js' import {fromByteArray as Base64Encode, toByteArray as Base64Decode} from 'base64-js'
@ -85,20 +86,17 @@ export async function Decrypt(file, raw_filename, raw_ext) {
imgUrl = imageInfo.url imgUrl = imageInfo.url
try { try {
if (ext === "mp3") { if (ext === "mp3") {
let writer = new ID3Writer(musicDecoded) musicDecoded = await WriteMp3Meta(musicDecoded,
writer.setFrame('APIC', { info.artist.split(" _ "), info.title, "",
type: 3, imageInfo.buffer, "Cover", musicMeta)
data: imageInfo.buffer,
description: "Cover",
})
writer.addTag();
musicDecoded = writer.arrayBuffer
musicBlob = new Blob([musicDecoded], {type: mime}); musicBlob = new Blob([musicDecoded], {type: mime});
} else if (ext === 'flac') { } else if (ext === 'flac') {
const writer = new MetaFlac(Buffer.from(musicDecoded)) const writer = new MetaFlac(Buffer.from(musicDecoded))
writer.importPictureFromBuffer(Buffer.from(imageInfo.buffer)) writer.importPictureFromBuffer(Buffer.from(imageInfo.buffer))
musicDecoded = writer.save() musicDecoded = writer.save()
musicBlob = new Blob([musicDecoded], {type: mime}); musicBlob = new Blob([musicDecoded], {type: mime});
} else {
console.info("writing metadata for " + ext + " is not being supported for now")
} }
} catch (e) { } catch (e) {
console.warn("Error while appending cover image to file " + e) console.warn("Error while appending cover image to file " + e)