用于MP3,AAC,WAV的跨平台(C / C ++)音频库

时间:2012-02-07 18:53:09

标签: c++ c audio

我正在尝试找到一个具有以下功能的跨平台音频库(按重要性排序):

  • 完整的Windows,Mac,Linux支持
  • C / C ++ API
  • 免费/廉价但商业上可行
  • MP3支持
  • AAC支持
  • WMA支持
  • FLAC支持
  • OGG支持
  • ARM Linux支持很不错
  • 开源

我发现了一些像OpenAL,libao,Bass等的东西,但它们似乎都有OS,编解码器或两者的限制。在大多数情况下,MP3和AAC支持是必须的,因为我正在使用媒体播放器,并希望它支持这些常见格式。

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

您可以查看 GStreamer FFmpeg

修改

由于您愿意使用Qt,因此您一定要检查Qt MultimediaKit,这是Qt Mobility项目的一部分。由于Qt正在投资MultimediaKit取代它,Phonon正逐渐消失。

This example显示了如何进行简单的音频播放。 This example展示了如何创建多媒体播放器。 This example使用Qt和QML显示更高级的音乐播放器。

答案 1 :(得分:1)

我不知道你是否打算使用像Qt这样的框架。 这个有一个名为“Phonon”的库捆绑在一起,这也很不错。 它建立在相应的本地媒体框架上,因此Mac上的QuickTime,Windows上的Windows Media Player和Linux上的GTK +。

PulseAudio在没有任何框架的情况下也看起来很有希望。

答案 2 :(得分:1)

试试JUCE。它在某些方面就像Qt,但更多以音频为中心。我已经使用它多年了,而且维护和编写得很好。