Форум: "Media";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизСклеить 2 wavа или 2 mp3. Найти похожие ветки
← →
plotn (2005-12-19 14:05) [0]Добрый день. Возникла проблема - плеер (Cowon G3), имеет лимит в 450 файлов. А 2 гига забить мп3 файлами чтобы больше было количество чем 450 - как за нефиг делать.
Надо - склеить 2 вава, или 2 мп3, что не принципиально. Хорошо бы пример с использованием bass.dll. Причем желательно еще и промежуток вставить. Полсекунды или секунду. Причем если клеить мп3, я так понимаю что тег будет один на двоих, это тоже решаемо, я выцеплю оба названия из обоих тэгов и слеплю в один тэг.
Вообще - если вдруг кому надо плугин для тоталкомандера, который умеет ogg,wav,mp3,cda,wma -> mp3 велком в мыло. Очень удобно жать файлы прямо в плеер, допустим из 192 в 128 бпс.
В данный момент хотим написать склейку файлов в один (допустим по 2-3 трека в один трек) и подкачку названий из CDDB когда риппуется CD. Остальное итак работает. На lame_enc.dll и bass.dll
← →
XProger © (2005-12-19 17:13) [1]Где вопрос?
← →
programania © (2005-12-19 20:51) [2]mp3 состоит из независимых фреймов поэтому можно
copy /b 1.mp3+mute.mp3+2.mp3 3.mp3
mute.mp3-файл с тишиной
← →
plotn (2005-12-20 12:56) [3]фреймы то фреймами, а мне хочется информацию о тэгах как то лишнюю убрать. ИксПрогеру - вопрос в сабже.
← →
XProger © (2005-12-20 16:41) [4]Раз фреймы независимы, логично будет предположить, что тебе необходимо просто найти и удалить фреймы с тегами ;)
← →
wicked © (2005-12-21 00:06) [5]wav файлы склеить не так просто - там есть заголовки и определенная, достаточно сложная структура......... плюс возможны различне форматы - вообще различные, что исключает прямое склеивание даже содержимого data-chunks..... также посоветую не слушать и не читать ламеров, выкладывающих описание формата wav, содержащее одну (!) структуру в начале файла с мутными и непонятными полями типа "здесь всегда 1".... читаем msdn и воздастся нам безглючным кодом......
единственный более-менее легкий способ - это "раскодировать" оба файла в формат PCM (та самая 1 в поле формата структуры WAVEFORMATEX) одной частоты дискретизации и одинаковых по количеству каналов (моно или стерео), а тогда уже склеивать и кодировать в один какой-то формат, обычно mp3, номер кодека 0x88 вроде, при этом обязательно строго заполнить дополнительные поля WAVEFORMATEX - это очень важно, так как ACM декодер mp3 достаточно глуп и сможет не раскодировать очевидные данные..... место, с которого посоветую начать - http://david.weekly.org/code/mp3acm.html
ошибки там есть, но как пример кода использовать можно вполне....
с mp3 проще, но не намного...... ожидается, что все фреймы в файле будут иметь одинаковые частоту дискретизации, layer версию (что собственно, отличает mp3 от, скажем, mp2), версию MPEG, способ стереокодирования и еще пару параметров (не помню ;)).... поэтому, если файлы будут иметь различные эти вот параметры, то даже не ручаюсь, что декодер будет с такими данными делать...... скорей всего, мусор выдавать будет...... так что склеивать такие файлы можно только при уверенности, что обязательные параметры совпадают......
с тегами в mp3 проще........ id3v1 легко определить - это последние 128 байт в файле, которые обязательно начинаются с символов "TAG".... поэтому, делаем seek -128 байт от конца, читаем 3 байта, и смотрим, не равны ли они "T", "A" и "G"..... равны - откусываем последние 128 байт и всё, id3v1 тега у нас нет....
id3v2 сложнее, но не намного.... ничего конкретного у нем сказать не могу, за меня лучше расскажет сайт http://www.id3.org
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c