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.