Cross-platform (C / C ++) audio library for MP3, AAC, WAV

I am trying to find a cross-platform audio library that will have the following features (in order of importance):

  • Full support for Windows, Mac, Linux
  • C / C ++ API
  • Free / cheap but commercially viable
  • MP3 support
  • AAC Support
  • WMA support
  • FLAC support
  • OGG Support
  • ARM Linux support will be enjoyable
  • Open source

I found a few things like OpenAL, libao, Bass, etc., but they all seem to either have an OS, codec limitation, or both. For the most part, MP3 and AAC support is mandatory as I work on a media player and would like it to support these common formats.

Any suggestions?

+6
source share
3 answers

You can take a look at GStreamer and FFmpeg .

EDIT

Since you are ready to use Qt, you should definitely check out Qt MultimediaKit , which is part of Qt Mobility . Phonon disappears because Qt is investing in MultimediaKit to replace it.

This example shows how to perform simple audio playback. This example shows how to create a media player. This example shows a more advanced music player using Qt and QML.

+4
source

I do not know if you plan to use a framework like Qt. It has a library called "Phonon" in the kit, which is also very nice. It is built on an appropriate media environment, so QuickTime on Mac, Windows Media Player on Windows and GTK + on Linux.

PulseAudio also looks promising without any frameworks.

+1
source

Try JUCE . This is similar to Qt in some ways, but much more audio-centric. I have been using it for several years now and it is well maintained and written.

+1
source

Source: https://habr.com/ru/post/907869/


All Articles