Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
14-58841
TButton
2003-08-31 19:34
2003.09.18
IE


9-58505
GameBoy
2002-12-20 19:14
2003.09.18
Полупрозрачность


7-58925
ctapik
2003-07-07 20:03
2003.09.18
Как остановить работу с ком портом?


1-58781
Jacob
2003-09-05 16:19
2003.09.18
Контекстное меню Windows


4-58971
Igit
2003-07-12 08:06
2003.09.18
Поиск файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский