8

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?

Adam Haile
  • 30,705
  • 58
  • 191
  • 286

3 Answers3

4

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.

leemes
  • 44,967
  • 21
  • 135
  • 183
karlphillip
  • 92,053
  • 36
  • 243
  • 426
  • Fromt he looks of it, the MultimediaKit is for mobile devices only. I'm working on something for the desktop. Is that correct? – Adam Haile Apr 24 '12 at 19:15
  • Wrong. I use QtMultimediaKit on several products for Desktops (Windows/Linux/Mac OS X). ;D – karlphillip Apr 24 '12 at 19:25
  • 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? – Adam Haile Apr 24 '12 at 19:28
  • They are all open source (FFmpeg, GStreamer, Qt, Qt Multimedia Kit), and you can download the sources and compile them in your computer. – karlphillip Apr 24 '12 at 19:30
  • I know you are trying to ask [about the license](http://qt.nokia.com/products/licensing/). I've always used the [LGPL version](http://harmattan-dev.nokia.com/docs/library/html/qtmobility/lgpl.html) of Qt and Qt Mobility. So no, my products are not open source. – karlphillip Apr 24 '12 at 19:45
  • 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. – Adam Haile Apr 24 '12 at 19:48
  • Unfortunately I don't have anything to show, they are all private projects. – karlphillip Apr 24 '12 at 19:54
1

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.

learnvst
  • 15,455
  • 16
  • 74
  • 121
1

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.

guitarflow
  • 2,930
  • 25
  • 38
  • Qt actually was my first choice... I'll look into it. – Adam Haile Feb 07 '12 at 19:40
  • 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. – guitarflow Feb 07 '12 at 19:47
  • Anything that I would know? Would love to see some examples. – Adam Haile Feb 07 '12 at 20:29
  • 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. – guitarflow Feb 07 '12 at 21:15