Кроссплатформенная (C/C++) аудио библиотека для MP3, AAC, WAV
Я пытаюсь найти кроссплатформенную аудио библиотеку, которая будет иметь следующие способности (в порядке важности):
- Полная поддержка Windows, Mac, Linux
- API C / C++
- Бесплатно / дешево, но коммерчески выгодно
- Поддержка MP3
- Поддержка AAC
- Поддержка WMA
- Поддержка FLAC
- Поддержка OGG
- Поддержка ARM Linux была бы хорошей
- Открытый исходный код
Я обнаружил несколько вещей, таких как OpenAL, libao, Bass и т. Д., Но все они, похоже, имеют ограничения ОС, кодека или обоих. По большей части поддержка MP3 и AAC необходима, так как я работаю над медиаплеером и хотел бы, чтобы он поддерживал эти распространенные форматы.
Какие-либо предложения?
3 ответа
Вы можете взглянуть на GStreamer и FFmpeg.
РЕДАКТИРОВАТЬ:
Поскольку вы готовы использовать Qt, вы обязательно должны проверить Qt MultimediaKit, который является частью проекта Qt Mobility. Phonon угасает, потому что Qt инвестирует в MultimediaKit, чтобы заменить его.
Этот пример показывает, как сделать простое воспроизведение звука. В этом примере показано, как создать мультимедийный проигрыватель. В этом примере показан более продвинутый музыкальный проигрыватель, использующий Qt и QML.
Попробуйте JUCE. В некотором смысле он похож на Qt, но гораздо больше ориентирован на аудио. Я использую его уже несколько лет, и он хорошо поддерживается и написан.
Я не знаю, планируете ли вы использовать такую среду, как Qt. Здесь есть библиотека под названием "Phonon", что тоже очень приятно. Он построен на соответствующей нативной медиа-структуре, так что QuickTime на Mac, Windows Media Player на Windows и GTK+ на Linux.
PulseAudio также выглядит многообещающе без каких-либо рамок.