简体   繁体   中英

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

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?

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.

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM