Какая библиотека де-факто стандарт для декодинга mp3?
Как например libogg для ogg.
LAME MP3
Ghost2
но его декодер же GPL
+ это не библиотека, мне нужна библиотека которая имеет биндинги для Delphi.
monobogdan
Кодер и декодер Library GPL. Она позволяет линковаться с кодом под другой лицензией.
> это не библиотека
А что это по твоему? Баня?
> мне нужна библиотека которая имеет биндинги для Delphi
Мои соболезнования.
Неужели дельфи такое говно, что не умеет в сишные вызовы? Да ни в жисть не поверю
У fmod3 был Delphi API. https://github.com/g-truc/shooter/tree/master/external/fmod-3.75/api/delphi
Про mp3 - не помню.
bass.dll - тоже delphi supported
https://www.un4seen.com/
Он даже mo3 умеет.
Но теперь mp3 - public domain, должны бы поменять лицензию в Lame.
Ghost2
Не не, именно GPL
http://lame.sourceforge.net/license.txt
loyso
Фмод басс, не то.
Ладно бы скомпилировать lame в Статик либу но делфи не умеет coff
Компилируй билдером, линкуй с дельфи. Они совместимы на уровне линковщика. Билдер, правда, не совсем С++, могут неприятности какие-нибудь вылезти.
monobogdan
> Не не, именно GPL
Ну так возьми тот декодер, который lame использует (mpg123).
Они же сами говорят - он теперь LGPL.
monobogdan
> Фмод басс, не то.
Почему? FMOD_OUTPUTTYPE_ASIO всякие тоже "не то"?
Интеллектуальный уровень вопроса и диалога впечатляет.
Zab
Ghost2
А ffmpeg?
loyso
Потому что openal наше все, а фмод это обёртка над ним же.
Вопрос в поиске декодера а не универсальной либы которая может все.
Ну и обе либы проприетарщина, fmod к тому же вообще вроде deprecate
Вникни в суть вопроса прежде чем бред генерировать
Нет никакого стандарта, каждый берёт библиотеку по потребностям, - если нужно просто декодировать сэмплы для загрузки уровня, а не для плеера с наворотами, - можно взять простейшую http://keyj.emphy.de/minimp3/
monobogdan
> А ffmpeg?
Если тебе нужен только декодер и не пугают +40 мб библиотек к проекту, то бери ffmpeg.
Вообще ffmpeg можно собрать только с mp3, но это для продвинутых пользователей.
А энкодера там нет. Точнее есть (тот же lame), но по умолчанию без него собирается.
Если не хочешь тащить код lame к себе в проект (там внутри действительно козья морда), бери lame-утилиту, вызывай через командную строку, перехватывай ввод-вывод. Под юниксовыми системами так делать не проблема, под виндой - я бы побоялся.
Zab
уже подумывал об этом(хотя это и грубый костыль, по крайней мере на винде).
Оно умеет декодированные данные прямо в stdout отдавать?
Тема в архиве.