AGB  ·  Datenschutz  ·  Impressum  







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

ID3v2 wird nicht Ausgeführt - warum?

Ein Thema von Flom · begonnen am 12. Feb 2007 · letzter Beitrag vom 13. Feb 2007
 
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#1

ID3v2 wird nicht Ausgeführt - warum?

  Alt 12. Feb 2007, 20:58
Hallöle,
Ich habe ein Problem (mal wieder - selbes Programm - soll MP3 Dateien finden und Auflisten)
Jedoch funktioniert das Liste nicht mit gausi seiner ID3v1 - ID3v2 Codes irgendwie nicht.

Ich habe Folgenden Code:
in der uses ist Deklariert: Mp3FileUtils_WE

var
Form1: TForm1;
quelle:string;
Id3v1Tag:TId3v1Tag;
Id3v2Tag:TId3v2Tag;

der code soll MP3 Dateien finden und in das ListView Eintragen:
Delphi-Quellcode:
procedure TForm1.CreateFileList(Dir, Ext: String; UseSubDirs: Boolean);
var
SR: TSearchRec;
stream: TFilestream;
Item: TListItem;
begin
If FindFirst(Dir + '*.*', faAnyFile, SR) = 0 then
Repeat
  If (SR.Attr and faDirectory = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') and (UseSubDirs) then CreateFileList(IncludeTrailingPathDelimiter(Dir + SR.Name), Ext, UseSubDirs)
  Else If LowerCase(ExtractFileExt(SR.Name)) = LowerCase(Ext) then
   begin
    Application.ProcessMessages;
    ////////////////////////////////////////////////////////////////////////////
      stream := TFileStream.Create(dir + sr.name, fmOpenRead or fmShareDenyWrite);

  // ID3v2-Tag auslesen
  Id3v2Tag.ReadFromStream(stream);

  // Position neu setzen
  if Not Id3v2Tag.exists then
    stream.Seek(0, sobeginning)
  else
    stream.Seek(Id3v2Tag.size, soFromBeginning);

  // ID3v1-Tag auslesen
  Id3v1Tag.ReadFromStream(stream);

  stream.free;
   // ListView1.Items.Add(Dir + SR.Name);
 ////////////////////////////////////////////////////////////////////////////
    Item.Caption:=Id3v2Tag.Artist;
    Item.SubItems.Add(Id3v2Tag.Title);
    Item.SubItems.Add(Id3v2Tag.Album);
    Item.SubItems.Add(SR.Name);
    Label1.Caption:='Bin da!';
   end;
Until FindNext(SR) <> 0;
FindClose(SR);
end;
Start des Programmes
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Id3v1Tag:=TId3v1Tag.Create;
Id3v2Tag:=TId3v2Tag.Create;
end;
bei FormDestroy wirds wieder frei gegeben

und zu guter letzt die Suche selbst

Delphi-Quellcode:
procedure TForm1.BtnSucheClick(Sender: TObject);
begin
ListView1.Clear;
CreateFileList(quelle + '\','mp3', CheckBox1.Checked);
end;
Habe diesmal auf eine Sortierung bisher verzichtet! (Programm ist neu Entwickelt

Grüße!
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
 


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 04:57 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