if disc only 1 will not add disc number

This commit is contained in:
zhaarey 2024-05-04 11:39:02 +08:00
parent 3f285da28a
commit 404cc6e812

17
main.go
View File

@ -812,18 +812,19 @@ func writeM4a(w *mp4.Writer, info *SongInfo, meta *AutoGenerated, data []byte, t
}
trkn := make([]byte, 8)
binary.BigEndian.PutUint32(trkn, uint32(trackNum))
binary.BigEndian.PutUint32(trkn, uint32(meta.Data[0].Relationships.Tracks.Data[index].Attributes.TrackNumber))
binary.BigEndian.PutUint16(trkn[4:], uint16(trackTotal))
err = addMeta(mp4.BoxType{'t', 'r', 'k', 'n'}, trkn)
if err != nil {
return err
}
disk := make([]byte, 8)
binary.BigEndian.PutUint32(disk, uint32(meta.Data[0].Relationships.Tracks.Data[index].Attributes.DiscNumber))
err = addMeta(mp4.BoxType{'d', 'i', 's', 'k'}, disk)
if err != nil {
return err
if meta.Data[0].Relationships.Tracks.Data[trackTotal - 1].Attributes.DiscNumber > 1{
disk := make([]byte, 8)
binary.BigEndian.PutUint32(disk, uint32(meta.Data[0].Relationships.Tracks.Data[index].Attributes.DiscNumber))
err = addMeta(mp4.BoxType{'d', 'i', 's', 'k'}, disk)
if err != nil {
return err
}
}
ctx.UnderIlst = false
@ -2055,4 +2056,4 @@ type SongLyrics struct {
} `json:"playParams"`
} `json:"attributes"`
} `json:"data"`
}
}