Ja den MPEG Header auszulesen, wird wohl das beste sein, allerdings ist die
Unit mp3_Info.pas dafür nicht sonderlich geeignet, kein LoadFromStream und erzeugt eine Menge AVs beim lesen von nicht mp3 Dateien. Die
Unit MP3FileUtils von Gausi aus dem
DF leistet da bessere Arbeit. ID3 Tags, kann man auch schlecht benutzen da nicht jede Mp3-Datei Tags hat.
So hier dann meine Function (läuft soweit):
Delphi-Quellcode:
class function TMp3Test.IsFileMp3(AFilename: string): boolean;
var
Mpeg: TMpegInfo;
begin
Result := false;
Mpeg := TMpegInfo.create;
try
try
Mpeg.LoadFromFile(AFilename);
except
Exit;
end;
finally
Mpeg.Free;
end;
if Mpeg.layer = 3 then begin
Result := true;
end;
end;
Danke für den Denkanstoß
mfg, Björn