Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с mp3 форматом [D5, D6, D7, Win95/98, WinME, WinXP]


hiperLogun ©   (2004-04-25 01:09:00) 

Необходимо написать небольшую программку, котрая будет резать mp3 файлы, точнее создавать как-бы preview-версии mp3-шек с заданной длительностью. Еще важный фактор - все mp3 с переменным битрэйтом (VBR).
Подскажите пожалуйста, как мне обрабатывать mp3, каков формат этих файлов, как правильно с ними работать!
Я был бы очень признателен, если бы мне ответили на e-mail:hiperlogun@mail.ru. Может кто знает ссылки, где можно найти информайию про формат mp3, пожалуйста поделитесь!
Заранее брагодарен!


ПсихЪ   (2004-06-15 11:38:00) [1]

Открываем файл 1 на чтение и файл 2 на запись, создаём буффер равный, скажем 1/100 метра, применяем на открытый файл 1 BlockRead 100 раз, а полученные в буффер байты каждый раз записываем в открытый файл 2 (BlockWrite). Закрываем файлы 1 и 2. Всё!


hiperLogun   (2004-04-27 01:01:00) [2]

Спасибо всем! Вопрос закрыт!
Uni был прав: можно отрезать кусок (резал в тоталкомандере) о вроде все путём играет!
Только вот вопрос есть:

Как мне из мп3 прочитать допустим 1мб и сохранить его в другой файл? Чегото не как не сооброжу как зделать! Помогите мне пожалуйста!


wicked   (2004-04-26 11:43:00) [3]

достаточно информации здесь - http://www.dv.co.yu/mpgscript/mpeghdr.htm....
тока по английски...


hiperLogun   (2004-04-26 00:12:00) [4]

Да но чаще всего получается такая бяяяя...ка.
Появляются всякие шумы и другая ерунда такчто надо искать дальше. Время то идёт, а мне прогу позарез да мая зделать надо!


uny   (2004-04-25 19:41:00) [5]

могу ошибаться, но бывает повреждённый mp3, скажем половина первая только, а всеравно играет - можно попробовать


hiperLogun   (2004-04-25 18:54:00) [6]

Нет дорогие товарищи!
Мне нужно создать preview-базу для боольшого количества музыки, чтобы уместилось на один винт (а то вся база на 4-х винтах). Так ей легче пользоваться!
[Мне всетаки надо узнать как можно програмно без переконверчивания копировать начало песни из mp3 (около минуты) и создавать другой mp3(это начало)]


uny   (2004-04-25 17:10:00) [7]

музыку хочет портить, что бы люди качали и злились


Yanis   (2004-04-25 16:29:00) [8]

А что ТО?


Yanis   (2004-04-25 16:19:00) [9]

Вот ещё:
http://actualsoft.narod.ru/files/audioinf.rar


hiperLogun   (2004-04-25 16:17:00) [10]

Спасибо конечно! Не это далеко не то!


Yanis   (2004-04-25 16:09:00) [11]

Чтение 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;  

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


hiperLogun   (2004-04-25 14:41:00) [12]

Мастера!!! Ну помогите мне пожалуйста!


Наверх

Титульная страница Поиск, карта сайта Написать письмо