Hi,
das Auslesen von Tags treibt mich noch in den Wahnsinn.
Mein Problem ist eigentlich recht simpel: ich will die ID3-Tags aus MP3-Dateien lesen. Das Problem ist nur, dass es manchmal v1.1 und manchmal v2 oder gar beides sein kann. Ich kann auch soweit erstere Version mit folgendem Source von
hier:
Delphi-Quellcode:
type
TID3Tag = record
// diese Struktur erweitert die Char arrays um ein Zeichen für Nullterminator,
// somit muß sie Feld für Feld gelesen und geschrieben werden, da ID3 eben diese Terminatoren NICHT speichert.
ID: array[0..3] of Char;
Title: array[0..30] of Char;
Artist: array[0..30] of Char;
Album: array[0..30] of Char;
Year: array[0..4] of Char;
Comment: array[0..30] of Char;
Genre: Byte;
end;
function ReadID3Tag(const FileName: String): TID3Tag;
begin
FillChar(Result, SizeOf(Result), 0);
with TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone) do
try
Position := Size - 128;
Read(Result.ID, 3);
Read(Result.Title, 30);
Read(Result.Artist, 30);
Read(Result.Album, 30);
Read(Result.Year, 4);
Read(Result.Comment, 30);
Read(Result.Genre, 1);
finally
Free;
end;
end;
Das Problem ist nun aber, dass ich bisher nichts gefunden habe, um die neuere Version auszulesen.
Hat jemand da was für mich?
Chris