Fórum Ler informações de arquivo .MP3 #169980

17/07/2003

0

Como faço para ler as informações de um arquivo em MP3, como por exemplo o nome do Cantor, a qualidade, o nome da Música, etc....


grato

AlphaBlend


Alphablend

Alphablend

Responder

Posts

18/07/2003

Cebikyn

Espero que ajude:

1- Declare o seguinte record:
Type
  TID3Tag = record
  ID:string[3];
  Titel:string[30];   // Nome da música
  Artist:string[30];  // Cantor
  Album:string[30];   // Álbum
  Year:string[4];     // Ano
  Comment:string[30]; // Comentário
  Genre:byte;         // Genero
end;

2- Depois uma variável que armazenará as informações:
var
  ID3Tag:TID3Tag;

3- Depois declare a seguinte função:
procedure Lese_ID3Tag(Filename:string);
var
  Buffer:array[1..128] of char;
  F:File;
begin
  AssignFile(F, Filename);
  Reset(F,1);
  Seek(F,FileSize(F)-128);
  BlockRead(F, Buffer, SizeOf(Buffer));
  CloseFile(F);
  with ID3Tag do
  begin
    ID:=copy(Buffer,1,3);
    Titel:=copy(Buffer,4,30);
    Artist:=copy(Buffer,34,30);
    Album:=copy(Buffer,64,30);
    Year:=copy(Buffer,94,4);
    Comment:=copy(Buffer,98,30);
    Genre:=ord(Buffer[128]);
  end;
end;

4-Depois, basta chamar a função e ler as informações da variável:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute
  then
    begin
      Lese_ID3Tag(OpenDialog1.FileName);
      titel.Caption:=ID3Tag.Titel;
      artist.Caption:=ID3Tag.Artist;
      album.Caption:=ID3Tag.Album;
      year.Caption:=ID3Tag.Year;
      comment.Caption:=ID3Tag.Comment;
      genre.Caption:=IntToStr(ID3Tag.Genre);
    end;
end;


Infelismente, não posso ajudar quanto a qualidade do arquivo...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar