AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Id3 Tags, Muetze1's Lib
Thema durchsuchen
Ansicht
Themen-Optionen

Id3 Tags, Muetze1's Lib

Ein Thema von Prototypjack · begonnen am 7. Jan 2006 · letzter Beitrag vom 7. Jan 2006
Antwort Antwort
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Id3 Tags, Muetze1's Lib

  Alt 7. Jan 2006, 16:40
Hallo,
Ich benutze zum Auslesen von Mp3 Tags die Id3 Lib von Muetze1.
Ich bin eigentlich sehr zufrieden damit, da sie die einzige ist welche mir die Daten liefern kann, die ich brauche.
Doch mir tut sich ein Problem auf:
Ich benutze diesen Code zum (Testweisen) Auslesen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Album,
  Artist,
  Genre,
  Tracknum,
  Title,
  Year: String;
  test: string;
  time: integer;
  fID3Class: TID3v2Class;
  str: Tstringlist;
  i:integer;
begin
  fID3Class :=TID3v2Class.Create('c:\ns.mp3');
  str :=Tstringlist.create;
  For i := 0 To fID3Class.TagCount - 1 Do begin
  if (fID3Class.Tags[i] is TTxxxTag) then
  With ( fID3Class.Tags[i] As TTxxxTag ) Do
  Begin
    str.add(inttostr(i)+Text); //Artist
   End;
  end;
  showmessage(str.text);
  str.free;
  fID3Class.Free;
end;
Ist kein schöner Code, soll er aber auch nicht sein, da ich verzweifelt bin und wenn alles funktioniert, schreibe ich ihn schöner.
Aber zum Problem:
Bei ihm befindet sich auf Tagcount 3(Ich glaube es war 3) das Genre, bei mir jedoch befindet sich(selbe Mp3 Datei!) etwas anderes auf diesem Tagcount. Damit noch nicht genug, bei mir wird alles ausgelesen bis eben auf das Genre. Irgendwie muss man doch da rankommen.

Das ganze macht mich deswegen so fertig, da mein Testcode seinem ziemlich gleicht aber unterschiedliche Ergebnisse liefert.

Ich hoffe ihr könnt mir helfen
Danke schonmal
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Id3 Tags, Muetze1's Lib

  Alt 7. Jan 2006, 17:02
1. Ich weiss nicht, ob die anderen soviel Wissen über meine Lib haben, als dass du direkt hier nachfragst.
2. Die Reihenfolge der Tags sind immer völlig zufällig - so wie sie aus dem MP3 gelesen werden. Der TTxxxTag handelt dabei alle Text-Tags die unterschiedliche Informationen beinhalten. Wenn du die Inhalte unterscheiden willst, dann schau dir an was in der Eigenschaft TagID drinne steht. Hier mal eine kurze Liste der unterschiedlichen Bedeutungen (übrigens auch zu finden in der ID3v2Types.pas aus der Library):

Zitat:
...

( TagID: 'TALB'; ShortDesc: 'Album'; LongDesc: 'Album/Movie/Show title'),
( TagID: 'TBPM'; ShortDesc: 'BPM'; LongDesc: 'BPM (beats per minute)'),
( TagID: 'TCOM'; ShortDesc: 'Composer'; LongDesc: 'Composer'),
( TagID: 'TCON'; ShortDesc: 'Genre'; LongDesc: 'Content type'),
( TagID: 'TCOP'; ShortDesc: 'Copyright'; LongDesc: 'Copyright message'),
( TagID: 'TDAT'; ShortDesc: 'Date'; LongDesc: 'Date'),
( TagID: 'TDLY'; ShortDesc: 'Playlist delay'; LongDesc: 'Playlist delay'),
( TagID: 'TENC'; ShortDesc: 'Encoded by'; LongDesc: 'Encoded by'),
( TagID: 'TEXT'; ShortDesc: 'Lyrics'; LongDesc: 'Lyricist/Text writer'),
( TagID: 'TFLT'; ShortDesc: 'Filetype'; LongDesc: 'File type'),
( TagID: 'TIME'; ShortDesc: 'Time'; LongDesc: 'Time'),
( TagID: 'TIT1'; ShortDesc: 'GroupTitle'; LongDesc: 'Content group description'),
( TagID: 'TIT2'; ShortDesc: 'Title'; LongDesc: 'Title/songname/content description'),
( TagID: 'TIT3'; ShortDesc: 'Subtitle'; LongDesc: 'Subtitle/Description refinement'),
( TagID: 'TKEY'; ShortDesc: 'Key'; LongDesc: 'Initial key'),
( TagID: 'TLAN'; ShortDesc: 'Language'; LongDesc: 'Language(s)'),
( TagID: 'TLEN'; ShortDesc: 'Length'; LongDesc: 'Length'),
( TagID: 'TMED'; ShortDesc: 'Media type'; LongDesc: 'Media type'),
( TagID: 'TOAL'; ShortDesc: 'Original Album'; LongDesc: 'Original album/movie/show title'),
( TagID: 'TOFN'; ShortDesc: 'Original filename'; LongDesc: 'Original filename'),
( TagID: 'TOLY'; ShortDesc: 'Original lyrics by'; LongDesc: 'Original lyricist(s)/text writer(s)'),
( TagID: 'TOPE'; ShortDesc: 'Original artist'; LongDesc: 'Original artist(s)/performer(s)'),
( TagID: 'TORY'; ShortDesc: 'Original realease year'; LongDesc: 'Original release year'),
( TagID: 'TOWN'; ShortDesc: 'Owner'; LongDesc: 'File owner/licensee'),
( TagID: 'TPE1'; ShortDesc: 'Artist'; LongDesc: 'Lead performer(s)/Soloist(s)'),
( TagID: 'TPE2'; ShortDesc: 'Band'; LongDesc: 'Band/orchestra/accompaniment'),
( TagID: 'TPE3'; ShortDesc: 'Performer'; LongDesc: 'Conductor/performer refinement'),
( TagID: 'TPE4'; ShortDesc: 'Remixed by'; LongDesc: 'Interpreted, remixed, or otherwise modified by'),
( TagID: 'TPOS'; ShortDesc: 'Part of'; LongDesc: 'Part of a set'),
( TagID: 'TPUB'; ShortDesc: 'Publisher'; LongDesc: 'Publisher'),
( TagID: 'TRCK'; ShortDesc: 'Track No'; LongDesc: 'Track number/Position in set'),
( TagID: 'TRDA'; ShortDesc: 'Recorded in '; LongDesc: 'Recording dates'),
( TagID: 'TRSN'; ShortDesc: 'Radio Station'; LongDesc: 'Internet radio station name'),
( TagID: 'TRSO'; ShortDesc: 'Radio Station Owner'; LongDesc: 'Internet radio station owner'),
( TagID: 'TSIZ'; ShortDesc: 'Size'; LongDesc: 'Size'),
( TagID: 'TSRC'; ShortDesc: 'ISRC'; LongDesc: 'ISRC (international standard recording code)'),
( TagID: 'TSSE'; ShortDesc: 'Encoder HW/SW'; LongDesc: 'Software/Hardware and settings used for encoding'),
( TagID: 'TYER'; ShortDesc: 'Year'; LongDesc: 'Year'),
( TagID: 'TXXX'; ShortDesc: 'Custom text'; LongDesc: 'User defined text information frame'),

...
(Diese Tags werden mindestens mit der TTxxxTag Klasse behandelt (sprich: gelesen/geschrieben))...

Somit findest du das Genre immer in dem TTxxxTag, welcher eine TagID von 'TCON' hat. Wenn kein TTxxxTag mit dieser TagID vorhanden ist, dann leg eine an mit dem TagDispatcher der Library.
  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:29 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