Cross Platform (C/C++) Audio Library for MP3, AAC, WAV

14,562

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.

Share:
14,562
Miguel Ventura
Author by

Miguel Ventura

Updated on June 20, 2022

Comments

  • Miguel Ventura
    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
    Miguel Ventura about 12 years
    Qt actually was my first choice... I'll look into it.
  • guitarflow
    guitarflow about 12 years
    I 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
    Miguel Ventura about 12 years
    Anything that I would know? Would love to see some examples.
  • guitarflow
    guitarflow about 12 years
    No, 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
    Miguel Ventura about 12 years
    Fromt he looks of it, the MultimediaKit is for mobile devices only. I'm working on something for the desktop. Is that correct?
  • karlphillip
    karlphillip about 12 years
    Wrong. I use QtMultimediaKit on several products for Desktops (Windows/Linux/Mac OS X). ;D
  • Miguel Ventura
    Miguel Ventura about 12 years
    Weird... 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
    karlphillip about 12 years
    They are all open source (FFmpeg, GStreamer, Qt, Qt Multimedia Kit), and you can download the sources and compile them in your computer.
  • karlphillip
    karlphillip about 12 years
    I 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
    Miguel Ventura about 12 years
    LOL... 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
    karlphillip about 12 years
    Unfortunately I don't have anything to show, they are all private projects.