Ich hab da mal was feines geschrieben. Meine
Unit liest ID3v1 und v2 aus und kann auch beide Varianten speichern. Relativ bemerkenswert (im Gegensatz zu den ID3v2-Routinen von z.B. AudioToolsLibrary) ist, dass alle Subversionen (2.2, 2.3, 2.4) des ID3v2-Tags gelesen und geschrieben werden können (standardmäßig wird 2.3 benutzt, aber ein evtl. vorhandener Tag in einer anderen Version wird nicht auf 2.3 umkodiert, was auch nicht möglich ist, weil
, und dass unbekannte Frames in dem Tag nicht beim speichern verloren gehen (die
Unit von ATL kennt zum Beispiel den Picture-Frame nicht, der damit ggf. verloren geht).
Dass einige Tag-Informationen gekürzt werden liegt wahrscheinlich daran, dass deine Routine den v1-Tag benutzt, indem die Felder für Artist, Titel und Album auf 30 Zeichen beschränkt sind. Beim v2-Tag ist die maximale Obergrenze iirc 256MB.
Download der
Unit in der
Entwickler-Ecke. Ein kleines Beispiel-Projekt liegt dabei.