Форум: "Media";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
ВнизЧтение tag ов в mp3 Найти похожие ветки
← →
Rus (2003-05-20 14:35) [0]Помогите. Если есть исходники дайте ссылку.
← →
Song (2003-05-20 19:33) [1]
type
TID3Tag = record
ID: string[3];
Titel: string[30];
Artist: string[30];
Album: string[30];
Year: string[4];
Comment: string[30];
Genre: Byte;
end;
const
Genres : array[0..146] of string =
("Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge",
"Hip- Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B",
"Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska",
"Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient",
"Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical",
"Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise",
"Alternative Rock","Bass","Punk","Space","Meditative","Instrumental Pop",
"Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic",
"Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta",
"Top 40","Christian Rap","Pop/Funk","Jungle","Native US","Cabaret","New Wave",
"Psychadelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk",
"Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk",
"Folk-Rock","National Folk","Swing","Fast Fusion","Bebob","Latin","Revival",
"Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock",
"Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus",
"Easy Listening","Acoustic","Humour","Speech","Chanson","Opera",
"Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove",
"Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad",
"Power Ballad","Rhytmic Soul","Freestyle","Duet","Punk Rock","Drum Solo",
"Acapella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House",
"Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat",
"Christian Gangsta","Heavy Metal","Black Metal","Crossover","Contemporary C",
"Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","SynthPop");
var
Form1: TForm1;
implementation
{$R *.dfm}
function readID3Tag(FileName: string): TID3Tag;
var
FS: TFileStream;
Buffer: array [1..128] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
FS.Seek(-128, soFromEnd);
FS.Read(Buffer, 128);
with Result 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;
finally
FS.Free;
end;
end;
procedure TfrmMain.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with readID3Tag(OpenDialog1.FileName) do
begin
LlbID.Caption := "ID: " + ID;
LlbTitel.Caption := "Titel: " + Titel;
LlbArtist.Caption := "Artist: " + Artist;
LlbAlbum.Caption := "Album: " + Album;
LlbYear.Caption := "Year: " + Year;
LlbComment.Caption := "Comment: " + Comment;
( Genre >= 0)
type
TID3Tag = record
ID: string[3];
Titel: string[30];
Artist: string[30];
Album: string[30];
Year: string[4];
Comment: string[30];
Genre: Byte;
end;
const
Genres : array[0..146] of string =
("Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge",
"Hip- Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B",
"Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska",
"Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient",
"Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical",
"Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise",
"Alternative Rock","Bass","Punk","Space","Meditative","Instrumental Pop",
"Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic",
"Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta",
"Top 40","Christian Rap","Pop/Funk","Jungle","Native US","Cabaret","New Wave",
"Psychadelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk",
"Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk",
"Folk-Rock","National Folk","Swing","Fast Fusion","Bebob","Latin","Revival",
"Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock",
"Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus",
"Easy Listening","Acoustic","Humour","Speech","Chanson","Opera",
"Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove",
"Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad",
"Power Ballad","Rhytmic Soul","Freestyle","Duet","Punk Rock","Drum Solo",
"Acapella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House",
"Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat",
"Christian Gangsta","Heavy Metal","Black Metal","Crossover","Contemporary C",
"Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","SynthPop");
var
Form1: TForm1;
implementation
{$R *.dfm}
function readID3Tag(FileName: string): TID3Tag;
var
FS: TFileStream;
Buffer: array [1..128] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
FS.Seek(-128, soFromEnd);
FS.Read(Buffer, 128);
with Result 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;
finally
FS.Free;
end;
end;
procedure TfrmMain.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with readID3Tag(OpenDialog1.FileName) do
begin
LlbID.Caption := "ID: " + ID;
LlbTitel.Caption := "Titel: " + Titel;
LlbArtist.Caption := "Artist: " + Artist;
LlbAlbum.Caption := "Album: " + Album;
LlbYear.Caption := "Year: " + Year;
LlbComment.Caption := "Comment: " + Comment;
if (Genre >= 0) and (Genre <=146) then
LlbGenre.Caption := "Genre: " + Genres[Genre]
else
LlbGenre.Caption := "N/A";
end;
end;
end;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c