Cross Platform (C/C++) Audio Library for MP3, AAC, WAV
Solution 1
You can take a look at GStreamer and FFmpeg.
EDIT:
Since you are willing to use Qt, you should definitely check Qt MultimediaKit, which is a part of the Qt Mobility project. Phonon is fading away because Qt is investing on MultimediaKit to replace it.
This example shows how to do simple audio playback. This example shows how to create a multimedia player. This example shows a more advanced music player, using Qt and QML.
Solution 2
I don't know if you are planning on using a framework like Qt. This has a library called "Phonon" bundled, which is also really nice. It is built on the corresponding native media framework, so QuickTime on Mac, Windows Media Player on Windows and GTK+ on Linux.
PulseAudio also looks promising without any framework.
Solution 3
Try out JUCE. It is like Qt in some respects, but much more audio-centric.I've been using it for some years now and it is well maintained and written.
Miguel Ventura
Updated on June 20, 2022Comments
-
Miguel Ventura almost 2 years
I'm trying to find a cross platform audio library that will have the following abilities (in order of importance):
- Full Windows, Mac, Linux support
- C / C++ APIs
- Free/cheap but commercially viable
- MP3 Support
- AAC Support
- WMA Support
- FLAC Support
- OGG Support
- ARM Linux support would be nice
- Open Source
I've found several things like OpenAL, libao, Bass, etc. but they all seem to all either have a limitation of OS, codec or both. For the most part MP3 and AAC support are a must as I'm working on a media player and would like it to support those common formats.
Any suggestions?
-
Miguel Ventura about 12 yearsQt actually was my first choice... I'll look into it.
-
guitarflow about 12 yearsI already made a few applications using the Phonon framework. For all the basic stuff it is absolutely great and it automatically supports all codecs QuickTime/WMP/GTK+ supports.
-
Miguel Ventura about 12 yearsAnything that I would know? Would love to see some examples.
-
guitarflow about 12 yearsNo, sorry. Have all been inhouse projects for my company. The most recent one was a listening test software. Hit me up if you have any more questions.
-
Miguel Ventura about 12 yearsFromt he looks of it, the MultimediaKit is for mobile devices only. I'm working on something for the desktop. Is that correct?
-
karlphillip about 12 yearsWrong. I use QtMultimediaKit on several products for Desktops (Windows/Linux/Mac OS X). ;D
-
Miguel Ventura about 12 yearsWeird... I could not get the media player example to even compile for desktop. I always have to ask, are these products you mention anything publicly available?
-
karlphillip about 12 yearsThey are all open source (FFmpeg, GStreamer, Qt, Qt Multimedia Kit), and you can download the sources and compile them in your computer.
-
karlphillip about 12 yearsI know you are trying to ask about the license. I've always used the LGPL version of Qt and Qt Mobility. So no, my products are not open source.
-
Miguel Ventura about 12 yearsLOL... sorry if I was confusing. But what I meant was that I was curious what the products that you used the media kit in, the actual names of the products you were working on, not the licensing or anything.
-
karlphillip about 12 yearsUnfortunately I don't have anything to show, they are all private projects.