[VB 2005] binäre Datei nach String durchsuchen

themadman

Mitglied
Hallo,

ich möchte gern eine binäre Datei (.mp3 Datei) nach dem auftreten eines bestimmten Strings prüfen (z.B. TIT2, TXXX) und anschließend, ab dieser Stelle die folgenden Zeichen auslesen.

ich weiß echt nicht wie ich das Anstellen soll habe schon zahlreiche versuche unternommen aber bekomme es nicht hin.

im Anhang mal ein Screenshot von einer Datei welche ich gerne auslesen möchte.

was ich zurückgeliefert haben möchte ist im Beispiel u.a:

TIT2 = Alone In The Dark
TPE1 = Airwave
POPM = traktor@native-instruments.de
TXXX = fBPM 0.000000
TXXX = fBPMQuality 0.000000
TXXX = TraktorRemixer Original Mix

ich hoffe ihr habt das Prinzip verstanden?

wäre über eure Hilfe sehr dankbar. hab versucht ID3 Auslesecodes umzucshreiben aber bin daran gescheitert, da diese immer nur ID3v1 unterstützt haben und dort die Länge je Eintrag begrenzt ist (z.B ist ein Titel IMMER 30 Zeichen lang)

Hoffe ihr wisst weiter. wenigstens ein Ansatz wie ich die binäre Datei nach einem String untersuchen kann und die Strings danach ebenfalls auslese

Danke im vorraus
Mike
 

Anhänge

  • picture014.jpg
    picture014.jpg
    37 KB · Aufrufe: 111
Hab hier einen (ungetesteten) Code für dich:
Visual Basic:
Dim fFile%, vFile$, vInhalt$, Result&
vFile = "C:\datei.mp3" 'Hier kommt der Dateiname rein
vInhalt = Space(FileLen(vFile))
fFile = FreeFile
Open fFile For Binary As fFile
 Get fFile, , vInhalt
Close fFile
'Suche mittels InStr()
Result = InStr(vInhalt, Suchstring)
'Je nach Resultat dann halt einfach weiterarbeiten.
'Mit Mid() kannst du direkt dann auf Stellen in der Datei zugreifen


Der Doc!
 
danke

aber da ich ja nicht mit einer Textdatei arbeite wird das so nix.

wenn ich versuche den Inhalt so auszulesen, hört die Ausgabe vom String vInhalt nach ID3 auf :(

müsste es mit Bytearrays machen aber wie bekomm ich das denn hin
 
Sorry, hab erst jetzt gesehen, dass du VB2005 brauchst, meine Lösung ist VB6. Schau mal in der VB-Hilfe nach, wie du unter VB2005 eine Datei einliest, hab damit leider noch keine Erfahrung damit (wer anders vielleicht?).


Der Doc!
 
Zurück