Informationen aus MP3-Dateien auslesen
Moderator: Moderatoren
- brandelh
- Foren-Moderator
- Beiträge: 15695
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo PeterMB,
das mit den ersten 32 BIT kann nicht stimmen, die ersten 4 Zeichen (32 Bit) lauten laut HexEditor bei 3 von mir untersuchten MP3 alle gleich:
1. Byte: 'I'
2. Byte: 'D'
3. Byte: '3'
4. Byte: hex 03, also chr(3) in Stringform.
Mit einem HEX-Editor kommst du der Sache eventuell schneller auf die Spur. Der Titel und der Interpret sehe ich auf jeden Fall im Klartext, dazwischen könnten 32 Bit Integerzahlen liegen...
Wenn du keinen (guten) hast, schau dir mal meinen bevorzugten Editor an (speziell auch zum Xbase programmieren):
MED - http://www.pfersdorff.de/
Tschüß
Hubert
das mit den ersten 32 BIT kann nicht stimmen, die ersten 4 Zeichen (32 Bit) lauten laut HexEditor bei 3 von mir untersuchten MP3 alle gleich:
1. Byte: 'I'
2. Byte: 'D'
3. Byte: '3'
4. Byte: hex 03, also chr(3) in Stringform.
Mit einem HEX-Editor kommst du der Sache eventuell schneller auf die Spur. Der Titel und der Interpret sehe ich auf jeden Fall im Klartext, dazwischen könnten 32 Bit Integerzahlen liegen...
Wenn du keinen (guten) hast, schau dir mal meinen bevorzugten Editor an (speziell auch zum Xbase programmieren):
MED - http://www.pfersdorff.de/
Tschüß
Hubert
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: klappt nicht so richtig
[code]
#include "fileio.ch"
proc say_header(cDatei)
LOCAL nHandle := 0, inhalt:=space(32)
[/code]
um nochmals zum "Grund Problem" zu kommen :
MP3 ID TAG v2.x hat keine feste "Strukur" Länge wie v1.x (128byte)
v2.x TAG "Strukturen" können bis zu 256MB(!) gross sein und auch
Bilder, Lyrics etc enthalten.
*** snip ***
Overall tag structure:
+-----------------------------+
| Header (10 bytes) |
+-----------------------------+
| Extended Header |
| (variable length, OPTIONAL) |
+-----------------------------+
| Frames (variable length) |
+-----------------------------+
| Padding |
| (variable length, OPTIONAL) |
+-----------------------------+
| Footer (10 bytes, OPTIONAL) |
+-----------------------------+
*** eof ***
>Bin für jeden Hiwneis dankbar. Die Links waren super
http://www.id3.org/id3v2.4.0-structure.txt
viel spass (bei der arbeit...)
aber vielleich geht es ja einfacher : wie/wofür willst du die informationen
verwenden ? benutzt du den M$ Mediaplayer9/10 ?
gruss by OHR
Jimmy
#include "fileio.ch"
proc say_header(cDatei)
LOCAL nHandle := 0, inhalt:=space(32)
[/code]
um nochmals zum "Grund Problem" zu kommen :
MP3 ID TAG v2.x hat keine feste "Strukur" Länge wie v1.x (128byte)
v2.x TAG "Strukturen" können bis zu 256MB(!) gross sein und auch
Bilder, Lyrics etc enthalten.
*** snip ***
Overall tag structure:
+-----------------------------+
| Header (10 bytes) |
+-----------------------------+
| Extended Header |
| (variable length, OPTIONAL) |
+-----------------------------+
| Frames (variable length) |
+-----------------------------+
| Padding |
| (variable length, OPTIONAL) |
+-----------------------------+
| Footer (10 bytes, OPTIONAL) |
+-----------------------------+
*** eof ***
>Bin für jeden Hiwneis dankbar. Die Links waren super
http://www.id3.org/id3v2.4.0-structure.txt
viel spass (bei der arbeit...)
aber vielleich geht es ja einfacher : wie/wofür willst du die informationen
verwenden ? benutzt du den M$ Mediaplayer9/10 ?
gruss by OHR
Jimmy
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
ja Hubert, du hast Recht. Das sehe ich auch so in meinem Editor (Proton).
Scheint doch wesentlich schwieriger zu sein als ich dachte. Ich bräuchte im Prinzip nur die Werte von einigen bestimmten Bits, wie hier beschrieben: http://audio.layer2.de/das_mp2format.php
Allerdings hätte ich da immer noch nicht alle benötigten Daten. Mir fehlt z.B. immer noch die Spieldauer wo ich gar nicht weiß wie/wo ich die finde.
Ich bin im Moment dabei, ein kleines Verwaltungsprogramm für meine Hörbücher zu basteln. Ich möchte dabei soviele Daten wie möglich automatisch einlesen.
Scheint doch wesentlich schwieriger zu sein als ich dachte. Ich bräuchte im Prinzip nur die Werte von einigen bestimmten Bits, wie hier beschrieben: http://audio.layer2.de/das_mp2format.php
Allerdings hätte ich da immer noch nicht alle benötigten Daten. Mir fehlt z.B. immer noch die Spieldauer wo ich gar nicht weiß wie/wo ich die finde.
Ich bin im Moment dabei, ein kleines Verwaltungsprogramm für meine Hörbücher zu basteln. Ich möchte dabei soviele Daten wie möglich automatisch einlesen.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
MP3 ID TAG -> MP3 Player
[quote="peternmb"]
Ich bin im Moment dabei, ein kleines Verwaltungsprogramm für meine Hörbücher zu basteln. Ich möchte dabei soviele Daten wie möglich automatisch einlesen.[/quote]
warum nicht einen "Player" mit dazu einbaun, dann kannst du dir die
Stücke auch gleich anhören.
hast du RC2 ? mittels ActiveX läst sich das WMP.OCX vom M$ Mediaplayer
, der sich wohl auf jedem M$ OS befindet, ansprechen.
ich habe Routinen, in Xbase++ (RC2), mit denen du den v6.4x (mplayer2)
oder v9x/10x (WMPlayer) steuern kannst. Das Problem mit den "property"
von den MP3 löst sich dann ganz von allein.
gruss by OHR
Jimmy
Ich bin im Moment dabei, ein kleines Verwaltungsprogramm für meine Hörbücher zu basteln. Ich möchte dabei soviele Daten wie möglich automatisch einlesen.[/quote]
warum nicht einen "Player" mit dazu einbaun, dann kannst du dir die
Stücke auch gleich anhören.
hast du RC2 ? mittels ActiveX läst sich das WMP.OCX vom M$ Mediaplayer
, der sich wohl auf jedem M$ OS befindet, ansprechen.
ich habe Routinen, in Xbase++ (RC2), mit denen du den v6.4x (mplayer2)
oder v9x/10x (WMPlayer) steuern kannst. Das Problem mit den "property"
von den MP3 löst sich dann ganz von allein.
gruss by OHR
Jimmy
-
- 1000 working lines a day
- Beiträge: 525
- Registriert: Mi, 01. Feb 2006 16:22
- Wohnort: 06618 Naumburg
nein, habe ich leider nicht.hast du RC2 ? mittels ActiveX läst sich das WMP.OCX vom M$ Mediaplayer , der sich wohl auf jedem M$ OS befindet, ansprechen.
Das mit dem Abspielen ist auch nicht so wichtig, mit geht es um die reine Verwaltung/Katalogisierung der Dateien.
Damit kenne ich mich leider überhaupt nicht aus. Ist was womit ich mich mal befassen wollte, wenn ich viiiel Zeit habeAußederm denke ich das es OCXe gibt die Dir hier die Arbeit abnehmen.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
hi,
[quote]Außederm denke ich das es OCXe gibt die Dir hier die Arbeit abnehmen.[/quote]Damit kenne ich mich leider überhaupt nicht aus. Ist was womit ich mich mal befassen wollte, wenn ich viiiel Zeit habe[/quote]
naja Zeit hat man nie, die muss man sich eben nehmen wenn man was
will. OCX in Xbase++ v1.9x ist "nichts besonderes", aber einfacher als
über DllCall mit API´s.
bei Interesse kann ich einen neuen Thread aufmachen und am Beispiel
M$ Mediaplayer9/10 "erklären" wie man damit umgeht.
gruss by OHR
Jimmy
[quote]Außederm denke ich das es OCXe gibt die Dir hier die Arbeit abnehmen.[/quote]Damit kenne ich mich leider überhaupt nicht aus. Ist was womit ich mich mal befassen wollte, wenn ich viiiel Zeit habe[/quote]
naja Zeit hat man nie, die muss man sich eben nehmen wenn man was
will. OCX in Xbase++ v1.9x ist "nichts besonderes", aber einfacher als
über DllCall mit API´s.
bei Interesse kann ich einen neuen Thread aufmachen und am Beispiel
M$ Mediaplayer9/10 "erklären" wie man damit umgeht.
gruss by OHR
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
neuer Thread
[quote="peternmb"]ja, das wäre klasse
Ich denke mal das wäre bestimmt nicht nur für mich von Interesse.[/quote]
hi,
ich habe einen neuen Thread angefangen.
gruss by OHR
Jimmy
Ich denke mal das wäre bestimmt nicht nur für mich von Interesse.[/quote]
hi,
ich habe einen neuen Thread angefangen.
gruss by OHR
Jimmy