Thema: Delphi Arbeit mit Buffer

Einzelnen Beitrag anzeigen

Sebastian Nintemann
(Gast)

n/a Beiträge
 
#5
  Alt 28. Mai 2003, 19:32
Hi Christian, danke für die Antwort.
Ich lese auch eine Datei über einen TFileStream. Es handelt sich dabei um eine Mp3-Datei deren Id3v2 Tag ich lesen will. Bei dem Wert handelt es sich um einen sogenannten Synchsafe Integer, der (damit alte Player, die den Tag nicht kennen nicht versuchen den Tag als Ton auszugeben) das jeweils höchstwertige Bit eines Bytes auf 0 belässt (mit dem Ergebnis, dass Player kein zufällig entstehendes Mpeg-Synch-Signal erkennen). Dieses Bit wird dann 'ignoriert', herauskommt ein 28-Bit Wert.
Dieser Wert lautet korrekt: $00001042, und so steht er auch in der Datei, die Bytes nicht in umgekehrter Reihenfolge. Ich hab nun die 4 Bytes so in die Cardinal Variable gepackt, dass das vierte vorne steht und das erste hinten und siehe da: Dieser Wert, dekodiert durch meine SynchsafeInt-Funktion, liefert das passende Ergebnis.

Danke nochmal für die Hilfe! Gruß, Sebastian
  Mit Zitat antworten Zitat