Кроссплатформенная (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 также выглядит многообещающе без каких-либо рамок.

Другие вопросы по тегам