refactor: rework on MusicEx footer parser

This commit is contained in:
鲁树人
2024-07-06 20:32:26 +01:00
parent e010d1b308
commit 68e0c06246
3 changed files with 77 additions and 49 deletions

View File

@@ -145,13 +145,12 @@ func (d *Decoder) searchKey() (err error) {
case "STag":
return errors.New("qmc: file with 'STag' suffix doesn't contains media key")
case "cex\x00":
footer := qqMusicTagMusicEx{}
audioLen, err := footer.Read(d.raw)
footer, err := NewMusicExTag(d.raw)
if err != nil {
return err
}
d.audioLen = int(audioLen)
d.decodedKey, err = readKeyFromMMKVCustom(footer.mediafile)
d.audioLen = fileSize - int(footer.TagSize)
d.decodedKey, err = readKeyFromMMKVCustom(footer.MediaFileName)
if err != nil {
return err
}