Thema: Delphi FEHLER > mpeg2dmx.ax????

Einzelnen Beitrag anzeigen

100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#1

FEHLER > mpeg2dmx.ax????

  Alt 14. Nov 2004, 10:53
haloo

ich arbeite im moment an einem mp3Player, der natürlich mp3 files abspielt. um diese dateien zu meinem archiv hinzuzufügen, werden zuerst die informationen aus der mp3 datei gelesen und dann werden sie in die datenbank eingetragen.

eigentlich funktioniert das ganze auch, doch bei wenigen dateien hat er einen fehler(unten zum downloaden).

das ist der code, den ich verwende:
Delphi-Quellcode:
procedure TAdd.Button5Click(Sender: TObject);
var
  a, b: real;
  mp3file: string;
begin
  mp3file := add.ListBox1.Items.Strings[add.ListBox1.itemindex];
  FillID3TagInformation(mp3file, add.edit1, add.edit2, add.edit3, add.edit4, add.edit5, add.edit6); // file-informationen auslesen, beim fehler wird diese stelle markiert!
  player.table1.Insert;
  add.dbedit1.Text := add.edit1.Text; // in die datenbank eintragen
  add.dbedit2.Text := add.edit2.Text;
  add.dbedit4.Text := add.edit4.Text;
  add.dbedit5.Text := add.edit5.Text;
  add.dbedit6.Text := add.edit6.Text;
  add.dbedit9.Text := add.edit13.text;

  player.mediaplayer1.Close;
  player.mediaplayer1.FileName := mp3file;
  player.mediaplayer1.Open;
  a := player.mediaplayer1.Length*(929/930092);
  b := Rounder(a, 0);
  player.label1.Caption := floattostr(b);
  add.DBEdit8.Text := timetostr(SecondsToTime(strtoint(label1.Caption)));

  add.dbedit3.Text := add.StaticText1.Caption;
  add.dbedit7.Text := mp3file;
  player.table1.Post; // datenbank schliessen
end;

FillID3TagInformation:
Delphi-Quellcode:
procedure FillID3TagInformation(mp3File:string; Title,Artist,Album,Year,Genre,Comment:TEdit);

begin
  fmp3:=TFileStream.Create(mp3File, fmOpenRead);
  try
    fmp3.position:=fmp3.size-128;
    fmp3.Read(ID3,SizeOf(ID3));
  finally
    fmp3.free;
  end;


if ID3.Tag <> 'TAGthen begin
   Title.Text:='Unbekannt';
   Artist.Text:='Unbekannt';
   Album.Text:='Unbekannt';
   Year.Text:='Unbekannt';
   Genre.Text:='Unbekannt';
   Comment.Text:='Unbekannt';
end else begin
   Title.Text:=ID3.Title;
   Artist.Text:=ID3.Artist;
   Album.Text:=ID3.Album;

   if ID3.Genre in [0..MaxID3Genre] then
     Genre.Text:=ID3Genre[ID3.Genre]
   else
     Genre.Text:=IntToStr(ID3.Genre);
   Comment.Text:=ID3.Comment
end;

end;
kann mir da jemand helfen??
Miniaturansicht angehängter Grafiken
fehler_438.jpg  
  Mit Zitat antworten Zitat