Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prob mit Procedur FillID3Tsg (https://www.delphipraxis.net/15395-prob-mit-procedur-fillid3tsg.html)

EvilDragon 27. Jan 2004 21:34


Prob mit Procedur FillID3Tsg
 
Hi leute heb nen prob mit folgender Procedur:

Delphi-Quellcode:
procedure FillID3TagInformation(mp3File:string; Title,Artist,Album,Year,Genre,Comment:TEdit);
var //fMP3: file of Byte;
    ID3 : TID3Rec;
    fmp3: TFileStream;
begin
  fmp3:=TFileStream.Create(mp3File, fmOpenRead);
  try
    fmp3.position:=fmp3.size-128;
    fmp3.Read(ID3,SizeOf(ID3));
  finally
    fmp3.free;
  end;
 if ID3.Tag <> 'TAG' then begin
   Title.Text:='Wrong or no ID3 tag information';
   Artist.Text:='Wrong or no ID3 tag information';
   Album.Text:='Wrong or no ID3 tag information';
   Year.Text:='Wrong or no ID3 tag information';
   Genre.Text:='Wrong or no ID3 tag information';
   Comment.Text:='Wrong or no ID3 tag information';
 end else begin
   Title.Text:=ID3.Title;
   Artist.Text:=ID3.Artist;
   Album.Text:=ID3.Album;
   Year.Text:=ID3.Year;
   if ID3.Genre in [0..MaxID3Genre] then
     Genre.Text:=ID3Genre[ID3.Genre]
   else
     Genre.Text:=IntToStr(ID3.Genre);
   Comment.Text:=ID3.Comment
 end;
end;
wenn ich das programm starte wird ein song in den MediaPlayer1 geladen und anschließend diese procedur aufgerufen hauptfehler ist die erste zeile nach dem begin der procedure...

scp 27. Jan 2004 22:39

Re: Prob mit Procedur FillID3Tsg
 
Du musst diese Prozedur VOR dem öffnen im TMediaPlayer ausführen. Aus irgendeinem Grund erlaubt TMediaPlayer während des Abspielens auch keinen Lesezugriff auf die MP3.

[edit]
oder so:
Delphi-Quellcode:
  fmp3 := TFileStream.Create(mp3File, fmOpenRead or fmShareDenyWrite   );
[/edit]

Luckie 27. Jan 2004 23:29

Re: Prob mit Procedur FillID3Tsg
 
Und das:
Delphi-Quellcode:
Title,Artist,Album,Year,Genre,Comment:TEdit
ist etwas unglücklich. Warum nimmst du keinen String? Dann können die Infos überall herkommen.

scp 27. Jan 2004 23:31

Re: Prob mit Procedur FillID3Tsg
 
Zitat:

Zitat von Luckie
Und das:
Delphi-Quellcode:
Title,Artist,Album,Year,Genre,Comment:TEdit
ist etwas unglücklich. Warum nimmst du keinen String? Dann können die Infos überall herkommen.

Sie sollen ja nicht herkommen sondern hingehen :-)
Müsste eigentlich GetID3TagInformation heissen.

Luckie 27. Jan 2004 23:36

Re: Prob mit Procedur FillID3Tsg
 
Die Parameter kommen bei mir immer von irgendwo. Ist aber immer noch sinnvoller sie als var-Parameter zu deklarieren, dann kann ich sie auch in einer Listbox oder sonstwo ausgeben. ;)

Und die Benennung der Prozedur ist auch etwas unglücklich, wie du siehst, bin ich drauf reingefallen.

EvilDragon 28. Jan 2004 13:48

Re: Prob mit Procedur FillID3Tsg
 
ihr seit die besten klappt alles reibungslos ;)
nur noch überlegen wie man es amcht, das wen man im editfeld dann was ändert und auf nen butten klickt das dies auch in den ID3Tag reingeschrieben wird....


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 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