Форум: "Media";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизРабота с mp3 форматом Найти похожие ветки
← →
hiperLogun © (2004-04-25 01:09) [0]Необходимо написать небольшую программку, котрая будет резать mp3 файлы, точнее создавать как-бы preview-версии mp3-шек с заданной длительностью. Еще важный фактор - все mp3 с переменным битрэйтом (VBR).
Подскажите пожалуйста, как мне обрабатывать mp3, каков формат этих файлов, как правильно с ними работать!
Я был бы очень признателен, если бы мне ответили на e-mail:hiperlogun@mail.ru. Может кто знает ссылки, где можно найти информайию про формат mp3, пожалуйста поделитесь!
Заранее брагодарен!
← →
hiperLogun © (2004-04-25 14:41) [1]Мастера!!! Ну помогите мне пожалуйста!
← →
Yanis © (2004-04-25 16:09) [2]Чтение 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 <=146) then
LlbGenre.Caption := "Genre: " + Genres[Genre]
else
LlbGenre.Caption := "N/A";
end;
end;
end;
К сожалению больше по mp3 ничего нету. Если что будет кину в форум.
← →
hiperLogun © (2004-04-25 16:17) [3]Спасибо конечно! Не это далеко не то!
← →
Yanis © (2004-04-25 16:19) [4]Вот ещё:
http://actualsoft.narod.ru/files/audioinf.rar
← →
Yanis © (2004-04-25 16:29) [5]А что ТО?
← →
uny (2004-04-25 17:10) [6]музыку хочет портить, что бы люди качали и злились
← →
hiperLogun © (2004-04-25 18:54) [7]Нет дорогие товарищи!
Мне нужно создать preview-базу для боольшого количества музыки, чтобы уместилось на один винт (а то вся база на 4-х винтах). Так ей легче пользоваться!
[Мне всетаки надо узнать как можно програмно без переконверчивания копировать начало песни из mp3 (около минуты) и создавать другой mp3(это начало)]
← →
uny (2004-04-25 19:41) [8]могу ошибаться, но бывает повреждённый mp3, скажем половина первая только, а всеравно играет - можно попробовать
← →
hiperLogun © (2004-04-26 00:12) [9]Да но чаще всего получается такая бяяяя...ка.
Появляются всякие шумы и другая ерунда такчто надо искать дальше. Время то идёт, а мне прогу позарез да мая зделать надо!
← →
wicked © (2004-04-26 11:43) [10]достаточно информации здесь - http://www.dv.co.yu/mpgscript/mpeghdr.htm ....
тока по английски...
← →
hiperLogun © (2004-04-27 01:01) [11]Спасибо всем! Вопрос закрыт!
Uni был прав: можно отрезать кусок (резал в тоталкомандере) о вроде все путём играет!
Только вот вопрос есть:
Как мне из мп3 прочитать допустим 1мб и сохранить его в другой файл? Чегото не как не сооброжу как зделать! Помогите мне пожалуйста!
← →
ПсихЪ (2004-06-15 11:38) [12]Открываем файл 1 на чтение и файл 2 на запись, создаём буффер равный, скажем 1/100 метра, применяем на открытый файл 1 BlockRead 100 раз, а полученные в буффер байты каждый раз записываем в открытый файл 2 (BlockWrite). Закрываем файлы 1 и 2. Всё!
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.033 c