AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ID3v1 und ID3v2 auslesen

ID3v1 und ID3v2 auslesen

Ein Thema von CalganX · begonnen am 5. Dez 2004 · letzter Beitrag vom 12. Dez 2004
Antwort Antwort
Seite 2 von 2     12
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: ID3v1 und ID3v2 auslesen

  Alt 5. Dez 2004, 17:06
Hi,
aus zwei bzw. drei Gründen nehme ich im Moment nicht die JVCL: erstens habe ich keine Möglichkeit (lies Zeit) 15MB herunterzuladen (wg. ISDN) um dann unter Umständen festzustellen, dass es nicht richtig mit D2005 funktioniert und zweitens weil ich gerne auf jegliche Zusatzkomponenten/-bibliotheken verzichten möchte.

Aber ansonsten habe ich nichts gegen die JVCL. Ich warte im Moment auf den 20. Dezember in der Hoffnung, dass dann die JVCL Version 3 fertig ist und ich mir relativ sicher sein kann, dass die 15MB sich gelohnt haben (die ich dann aber auch in der Schule runterladen werde).

Chris
»Mein Kaffee ist so schwarz — der fängt gleich an zu rappen...«
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: ID3v1 und ID3v2 auslesen

  Alt 5. Dez 2004, 21:02
Moin!

In dem oben von dir verlinkten Beitrag habe ich auch auf meine ID3 Tag Lib verwiesen und diese kommt ohne Komponente aus sondern ist eine reine Klasse und du kannst es ja bei dir nutzen und es sollte Delphi 2005 kompatibel sein.

MfG
Muetze1
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: ID3v1 und ID3v2 auslesen

  Alt 12. Dez 2004, 19:36
Hi Leute,
als ich gerade diesen Thread laß ist mir etwas aufgefallen.
@Chakotay1308: Diese Version:
Delphi-Quellcode:
type
  TID3Tag = record
   // diese Struktur erweitert die Char arrays um ein Zeichen für Nullterminator,
   // somit muß sie Feld für Feld gelesen und geschrieben werden, da ID3 eben diese Terminatoren NICHT speichert.
    ID: array[0..3] of Char;
    Title: array[0..30] of Char;
    Artist: array[0..30] of Char;
    Album: array[0..30] of Char;
    Year: array[0..4] of Char;
    Comment: array[0..30] of Char;
    Genre: Byte;
  end;

function ReadID3Tag(const FileName: String): TID3Tag;
begin
  FillChar(Result, SizeOf(Result), 0);
  with TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone) do
  try
    Position := Size - 128;
    Read(Result.ID, 3);
    Read(Result.Title, 30);
    Read(Result.Artist, 30);
    Read(Result.Album, 30);
    Read(Result.Year, 4);
    Read(Result.Comment, 30);
    Read(Result.Genre, 1);
  finally
    Free;
  end;
end;

funktionioniert nur bei ID3v1 Tags, es gibt aber schon seit langem die oft verwendete ID3v1.1. Du solltest auf jeden Fall die Funktion ausbauen, die Struktur ist folgende:
ID ('TAG')
Title 30
Artist 30
Album 30
Year 4
Comment 28
0-Byte ($0) 1
Album Track (Titelnummer) 1
Genre 1

die Zahlen sind natürlich in Byte.


Gruß DelphiFreund
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#14

Re: ID3v1 und ID3v2 auslesen

  Alt 12. Dez 2004, 19:41
Aber nicht immer wird v1.1 benutzt, manchmal ist der Kommentar tatsächlich 30 Zeichen lang. Der Indikator für v1.1 sind die letzten beiden Byte des Comment-Feldes, ist der vorletzte ein Nullbyte und der letzte ungleich 0, dann ist der letzte die Tracknummer. Ist das vorletzte ungleich 0, ist es v1.0 und die letzten beiden gehören zum Kommentar.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: ID3v1 und ID3v2 auslesen

  Alt 12. Dez 2004, 19:43
Stimmt, darauf sollte man natürlich achten, ich versuche ja auch seit gestern TAGs zu lesen und zu schreiben
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf