Ähm - ich hab jetzt keinen Schimmer, wie's bei MP3 aussieht und eine WMA hab ich zum Testen auch nich auf meiner Festplatte. Und mit dem Dateiformat möchte ich mich jetzt auch ungern befassen.
Du musst einen Puffer einlesen (100 Bytes z.B.) und diesen später dann in einen Record quetschen. Sicher wird WMA eine Signatur haben - also quasi eine Zeichenfolge am Anfang der Datei, die die Datei als WMA-Datei identifiziert (hier alles Vermutung - ICH WEIß NICHT, OB ES SO IST!!!)
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| type TWMAHeader = record ... end;
function isWMA(sFileName:STRING):BOOLEAN; var RFS:TFileStream; var hdWMA:TWMAHeader; begin Result:=False; RFS:=TFileStream.Create(sFileName,fmOpenRead OR fmShareDenyWrite); RFS.Read(hdWMA,sizeof(hdWMA)); IF hdWMA.<...> = <...> THEN Result:=True; RFS.Free(); end. |
Wie gesagt - so würde ich's machen...