2011-02-23 145 views
9

我正在研究一个简单的音频播放器,这很顺利,使用Qt和一切。但我需要一个坚实但简单的音频库。我不需要任何像3D音效这样的幻想,我怎么知道现在这些东西还有什么。我只是在寻找一些简单而高效的东西。为C++寻找一个简单的音频播放库

的功能列表我在寻找:从文件

  • .OGG,MP3播放和.FLAC应该至少是支持

    1. 音频播放。
    2. 应该能够暂停播放。
    3. 我计划在C++中使用它

    见。没有什么大的或什么,但同时我很难找到合适的东西。我的目标平台是Windows 7.

    任何人都知道我可能要找的东西吗?

  • +0

    嘿,这里有很多答案,这对我来说很不错。你不想选择一个作为正确的答案吗? – AudioDroid 2011-05-03 15:02:52

    +0

    是的,我来这里已经有一段时间了。现在完成。 :-) – 2011-05-06 15:57:50

    回答

    4

    在我看来,最好的选择是BASS音频库,它不是开源的,但可以免费用于非商业用途。

    它被AIMP2音频播放器使用,您可以使用它来检查音质,本机支持许多格式,包括MP3和OGG,并使用插件来支持更多,包括FLAC。

    2

    libavcodec怎么样?它的LGPL。我不确定ogg> _ <

    +0

    这似乎是朝着正确方向迈出的一大步。太糟糕了,它也涵盖了视频内容,理想情况下我正在寻找音频。无论如何,这最接近我现在需要的。 – 2011-02-23 16:40:02

    1

    我以前从Windows C++程序中使用过BASS,使用起来非常简单 - 链接DLL并调用一些方法来指定要播放的文件。

    它确实处理文件中的MP3播放,就像我正在做的那样。

    我希望我可以验证OGG和Flac,但唉,我在防火墙的后面,该网站被阻止。

    +0

    我看了一下BASS,但它似乎不支持FLAC。虽然有了扩展,但它显然可以。这是一个选项,但我不知道,必须添加扩展功能似乎很麻烦。我只想要一个不需要太多努力的图书馆。让我们看看是否有其他人带着宝石。 – 2011-02-23 16:38:33

    0

    Miles是一个很好且常用的音频库。

    +2

    最好是考虑它的成本$ 4000美元,这远远超过我的$ 0美元的预算。 – 2011-02-23 16:42:38

    +0

    嗯,他们使用有非商业用途的免费许可证,但我目前似乎无法找到它。 – 2011-02-23 16:51:26

    0

    通过另一个答案来回答我自己的问题。 FFmpeg几乎就是我正在寻找的东西。谢谢大家。

    +1

    这不是Reno建议的libavcodec的父项目吗? – icabod 2011-02-23 16:55:46

    0

    我建议Openframeworks或使用rtAudio库 - 该openframeworks正在直接使用。哦,并在一边:rtAudio几乎没有许可限制。 ;-) 纠正我,如果我错了。

    0

    我用的FFMPEG一个C++封装:FOBS
    易于使用和C++ :)

    编辑:

    钥匙扣不再维持。不过,您可以将其作为起点来制作自己的FFMPEG封装。

    +0

    不幸中止。 – DevSolar 2015-02-12 15:06:53

    +0

    @DecvSolar:不幸的是。我更新我的答案... – neuro 2015-02-12 17:13:56

    0

    DirectShow实际上很容易使用,很灵活,并附带Windows。有一百万个例子,它可以像你需要的那样简单或复杂。当我把一些需要播放MP3的东西放在一起时,我会使用它。请注意,您的目标是Windows 7,因此您可以考虑使用Media Foundation