![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с 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]Мастера!!! Ну помогите мне пожалуйста!