Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2007, 17:48   #1
yourself
Пользователь
 
Аватар для yourself
 
Регистрация: 10.11.2007
Сообщений: 38
По умолчанию Как открыть для редактирования ID3-тэги mp3-файлов? Delphi

Хочу написать программу, которая обрабатывает ID3-тэги файлов формата mp3. Подскажите плз, как можно обратиться к этим тэгам?
yourself вне форума Ответить с цитированием
Старый 12.11.2007, 18:03   #2
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию Прочитать MP3 ID3-Tag

Размещение тегов:

Byte 1-3 = ID 'TAG'
Byte 4-33 = Titel / Title
Byte 34-63 = Artist
Byte 64-93 = Album
Byte 94-97 = Jahr / Year
Byte 98-127 = Kommentar / Comment
Byte 128 = Genre


Код:
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; 
 
end;
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 13.11.2007, 02:16   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

У тебя как с ангельским?
http://www.id3.org/
http://www.id3.org/Implementations

Зачем эти ссылки? А затем что код выше читает теги первой версии, к-рые уже давно устарели.

А вот пример такой программы, очень даже неплохой
http://www.mp3tag.de/en/
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 13.11.2007 в 02:33.
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как открыть в Delphi БД Ellita Помощь студентам 4 07.07.2008 22:33
Как из Delphi открыть страничку html doncova1 Общие вопросы Delphi 5 16.03.2008 14:39
Как открыть и сохранить mp3 файл в delphi? Rahim1993 Мультимедиа в Delphi 2 03.01.2008 12:55
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54
как из открыть Word из delphi doncova1 Общие вопросы Delphi 1 19.11.2006 16:06