AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ID3 Tags auslesen

Ein Thema von loirad · begonnen am 15. Feb 2012 · letzter Beitrag vom 1. Nov 2012
Antwort Antwort
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#1

ID3 Tags auslesen

  Alt 15. Feb 2012, 11:52
Hallo Community,

Ich würde gerne für einen Musikverwalter aus .mp3-Dateien die ID3 Tags auslesen (Interpret, Titel, Erscheinungsjahr,...). Ich habe Google schon durchforstet und nichts brauchbares gefunden. Geht das mit Delphi (Wenn ja wie)? Wäre schön, wenn ihr mir helfen könntet

Liebe Grüße
loirad
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#2

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 11:55
Such mal nach den MP3FileUtils (oder so ähnlich) von Gausi.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#3

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 11:59
Geht es auch ohne irgendeine Erweiterung
Ist nämlich für die Schule und da macht sich das schlecht!

LG loirad
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#4

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 12:01
Man könnte sich das ja herunterladen und spicken, ohne es selbst einzusetzen. Oder man erfindet das Rad eben neu
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 12:09
Hallo,

wenn es sich um ID3v1 Tags handelt sollte es doch recht einfach machbar sein.

Eine Beschreibung findest Du hier

Demzufolge einfach die mp3 Datei mit TFileStream öffnen.
fStream.seek(128,soFromEnd), springst Du auf die FilePosistion an dem der ID3Tag beginnen sollte.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#6

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 12:29
Wie finde ich heraus, was es für ein ID3 Format ist?
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
878 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 13:00
Es gibt zwei Hauptversionen vom ID3Tag:

Version 1 und Version 2. In einer mp3-Datei können keine, eine oder beide Tagversionen enthalten sein, und die darin enthaltenen Informationen müssen auch nicht einheitlich sein.

Version 1 steht (wenn vorhanden) immer in den letzten 128 Byte einer mp3-Datei. Die ersten drei Bytes sind TAG. Dann folgen je 30 Bytes für Interpret, Titel, Album. Dann kommen 4 Bytes für das Jahr, danach 30 Bytes für einen Kommentar, und zuletzt ein Byte für das Genre.
Version 1.1 ist eine Erweiterung davon. Wenn das 29 Byte des Kommentar-Feldes 0 ist, und das 30. nicht, dann gibt das 30. Byte die Track-Nr. an.
Diese Version ist sehr einfach auszulesen und zu schreiben, ist aber aufgrund der geringen Möglichkeiten oft nur aus Kompatibiliätsgründen noch enthalten.

Version 2 ist deutlich komplizierter, hat aber dafür auch erheblich mehr Möglichkeiten. Die Datenmenge ist da nicht mehr maximal 128 Byte, sondern (iirc) 256 Megabyte. Der ID3v2-Tag steht (in der Regel) am Anfang der Datei und fängt dann mit "ID3" an, gefolgt von weiteren Header-Informationen. Danach folgen mehrere "Frames", die jeweils aus einem Frameheader und einem Datenteil bestehen. Eine sehr gute Dokumentation findet sich auf id3.org.

Für eine mp3-Verwaltung im Rahmen eines Schulprojektes ist es aber imho durchaus erlaubt, für diese doch sehr technischen Details auf Fremdcode zurückzugreifen. Alleine das Durchwuseln durch die Grundstruktur in den Subversionen 2.2, 2.3, 2.4 dauert einige Zeit. Und daran scheitert z.B. auch Microsoft - 2.4 unterstützt Windows z.B. nicht, obwohl das vor ca. 10 Jahren eingeführt wurde.

Eine Liste mit Delphi-Implementierungen findet sich auch auf id3.org. Meine Mp3FileUtils sind da seit kurzem auch verlinkt, und auch die ID3Lib von Muetze1.
The angels have the phone box.
  Mit Zitat antworten Zitat
loirad

Registriert seit: 25. Nov 2009
135 Beiträge
 
Delphi 6 Professional
 
#8

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 13:03
Danke für die Ausführliche Information Gausi - ich werde auf deinen Code zurückgreifen glaube ich. Ist dein Code für alle ID3 Tags möglich oder nur für eine bestimmte Version?
LG loirad
Wer Fehler findet darf sie behalten!
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
878 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: ID3 Tags auslesen

  Alt 15. Feb 2012, 13:11
Darin enthalten sind drei Klassen: TMpegInfo (so in etwa) liest Daten wie Dauer, Bitrate, Channelmode etc. aus, die nicht im ID3Tag gespeichert sind.

TID3v1Tag behandelt den ID3v1Tag, und TID3v2Tag den in Version 2. Um die Unterversionen muss man sich dabei nicht weiter kümmern. Schau dir einfach die Demos an, oder mein Tutorial zur Player-Programmierung. Da gehe ich auch darauf ein, wie man z.B. übersichtlich aus den Daten an eine Info "Titel" bekommt.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von ATS3788
ATS3788

Registriert seit: 18. Mär 2004
Ort: Kriftel
646 Beiträge
 
Delphi XE Starter
 
#10

AW: ID3 Tags auslesen

  Alt 1. Nov 2012, 10:02
Tolle Arbeit
Martin MIchael
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz