用于MP3,AAC,WAV的跨平台(C / C ++)音频库
我正在尝试找到一个具有以下function的跨平台音频库(按重要性排序):
- 完整的Windows,Mac,Linux支持
- C / C ++ API
- 免费/便宜但商业上可行
- MP3支持
- AAC支持
- WMA支持
- FLAC支持
- OGG支持
- ARM Linux支持会很好
- 开源
我发现了一些东西,比如OpenAL,libao,Bass等,但它们似乎都有操作系统,编解码器或两者的限制。 在大多数情况下,MP3和AAC支持是必须的,因为我正在使用媒体播放器,并希望它支持这些常见格式。
有什么建议?
你可以看看GStreamer和FFmpeg 。
编辑 :
既然您愿意使用Qt,那么您一定要查看Qt MultimediaKit ,这是Qt Mobility项目的一部分。 Phonon正逐渐消失,因为Qt正在投资MultimediaKit来取代它。
此示例显示如何进行简单的音频播放。 此示例显示如何创建多媒体播放器。 此示例使用Qt和QML显示更高级的音乐播放器。
我不知道你是否打算使用像Qt这样的框架。 这个有一个名为“Phonon”的库捆绑在一起,这也很棒。 它建立在相应的本机媒体框架上,因此Mac上的QuickTime,Windows上的Windows Media Player和Linux上的GTK +。
PulseAudio看起来很有希望没有任何框架。
试试JUCE 。 它在某些方面就像Qt,但更多以音频为中心。我已经使用它已有好几年了,并且维护和编写得很好。