Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
3-1143716463
wsm-100
2006-03-30 15:01
2006.05.21
Как получить список имен БД на сервере MSSQL


6-1130276559
Setor
2005-10-26 01:42
2006.05.21
Организация непрерывной передачи файлов по сети для видеочата


2-1146985807
vasilii
2006-05-07 11:10
2006.05.21
Опять про StringGrid


2-1146804726
Mahab
2006-05-05 08:52
2006.05.21
jpeg


15-1145736171
Хозяин
2006-04-23 00:02
2006.05.21
Иисус Христос Воскреси!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский