Главная страница
    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
1-58707
Elen
2003-09-08 10:40
2003.09.18
Перетаскивание одной ветки дерева в другую


1-58642
Marmel
2003-09-05 11:53
2003.09.18
Перехватить информацию из ячейки Exel.


3-58566
stud
2003-08-27 11:21
2003.09.18
возможно ли определить длину поля в символах с помощью sql?


1-58646
ikivio
2003-09-05 11:59
2003.09.18
PageControl в режиме RunTime


14-58857
Pindos
2003-08-30 20:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский