Я тут решил подыскать в ксаш более качественный и маленький mp3-декодер, и натолкнулся на такую проблему, что в этом плане среди быдло-кодеров тотально рулят bass.dll и fmod.dll, а чтобы загрузить mp3-файл ручками речи практически не идет. Попадались правда какие-то сомнительные дллки, но у всех было два минуса - либо они в скомпиленном состоянии весили килобайт эдак за 400, либо там напрочь отсутствовали dsp-проекты под микрософт-студию. А в лучшем случае такие проекты были под студию 2005 как минимум. И вот мне случайно повезло найти версию mpg123 аж за лохматый 2004 год. Правда в комплекте не оказалось проектов под микрософт-студию впринципе, даже примеров использования не было, кроме наспех сляпанного класса декодирования.
Однако меня привлёк малый размер конечного файла и я начал экспериментировать. В архиве - конечный продукт моих изысканий, это сверхминиатюрный декодер mp3-файлов в wav. Никаких опций у него нету, для декодирования следует перетащить mp3-файл на иконку приложения. Ну и сорцы в комплекте. Может кому понадобится.
Вложение: mp3test.rar (45.7 кб)
Этот файл был скачан 388 раз. Дядя Миша проверил это вложение на вирусы 17-05-2011 в 19:25
Вот финальная версия моих изысканий.
1. немного дописан интерфейс с целью спрятать все лишние структурки декодера (см. файл libmpg.h)
2. написана чисто "Си"шная реализация декодера (в том же файле, что и С++ реализация).
3. приложен тестовый mp3-файл
4. данная версия декодера уже успешно имплементирована в ксаш и показала отличные результаты: пропал хрип на музыке с частотой дискретизации в 48 kHZ, появилась поддержка VBR Mp3, уменьшился конечный размер xash.dll на целых 50 килобайт.
На этом, собственно всё )
Вложение: libmpg.rar (423.0 кб)
Этот файл был скачан 370 раз. Дядя Миша проверил это вложение на вирусы 22-05-2011 в 18:49