/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Informationer fra MP3 fil - Delphi 4
Fra : Ulrik Vadstrup


Dato : 06-12-00 15:57

Efter sigende skulle jeg kunne hente dem med noget ligende...

type
TID3Rec = packed record
Tag : array[0..2] of Char;
Title,
Artist,
Comment,
Album : array[0..29] of Char;
Year : array[0..3] of Char;
Genre : Byte;
end;




procedure TForm1.MP3ListClick(Sender: TObject);
var mp3File:string;
begin
file://if the list is empty don't do anything
if mp3List.Items.Count=0 then exit;
file://file is FolderName + FileName
mp3File := Concat(txtFolder.Caption,
mp3List.Items.Strings
[mp3List.ItemIndex]);

file://Chechk again if it exists
if not FileExists(mp3File) then begin
ShowMessage('MP3 file does not exist?!');
exit;
end;

file://used to display the ID3 tag information
FillID3TagInformation (mp3File,
edtTitle,
edtArtist,
edtAlbum,
edtYear,
edtGenre,
edtComment);

Progress.Max:=0;

mp3player.Close;
mp3player.FileName:=mp3File;
mp3player.Open;

Progress.Max := mp3player.Length;
end;

procedure TForm1.FillID3TagInformation(mp3File: string; Title, Artist,
Album, Year, Genre, Comment: TEdit);
var 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;


Syn's dog ikke rigtig det spiller - holder den vand ?





 
 
Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste