Die PRIV-Frames sind ja keine Zauberei. Die sind so aufgebaut:
Code:
<Header for 'Private frame', ID: "PRIV">
Owner identifier <text string> $00
The private data <binary data>
Der Owner identifier ist dieses "WM/WMCollectionGroup"-Gedöns. Die eigentlichen Daten sollten dann die
GUID enthalten. Du müsstest dann "nur" herausfinden, wie die Binärdaten in Dateinamen konvertiert werden. Bei mir lasse ich den WMP nicht an meine mp3s, das müsstest du dann mal an ein oder zwei Dateien testen. Vielleicht ist es auch einfach eine Hexadezimal-Darstellung oder sonst eine einfache Kodierung.
Zum Schreiben und Lesen der PRIV-Frames bietet MP3FileUtils die Methoden
Delphi-Quellcode:
function GetPrivateFrame(aOwnerID: AnsiString; Content: TStream): Boolean;
procedure SetPrivateFrame(aOwnerID: AnsiString; Content: TStream);
Wichtig ist hier dann nur wieder die Tag-Version des ID3-Tags. Die sollte 2.3 sein, und nicht 2.4.
The angels have the phone box.