【问题标题】:c++ mp3 library [closed]c ++ mp3库[关闭]
【发布时间】:2012-04-07 22:04:15
【问题描述】:

我已经筋疲力尽地寻找一个 c++ mp3 解码库,最好是免费的(如 lgpl)和跨平台的或适用于 windows 和 mac 的。任何人都可以建议这样的库并发布一些使用它的教程吗? ffmpeg 和 sdl (sdl_sound, sdl_mixer) 没有编译。我无法让 mpg123 工作 - 它仅适用于 linux 世界还是什么?是否有一些关于在 Windows 上使用 mpg123 的教程? mpg123 无法找到一些符号,即我没有将一些 dll 放在正确的路径上 - 但是哪个?

总的来说,我希望能够在 windows 和 mac 上读取和写入所有主要的音频文件格式 - 从 windows 开始。

【问题讨论】:

  • VLC 的核心是 ffmpeg,它可以在 Windows 和 Mac 上运行。
  • 嗯,对 - 你能发布一些关于如何让 ffmpeg 工作的教程吗?
  • 您可以从这里开始避免很多构建问题。 ffmpeg.zeranoe.com
  • 我使用的是相同的构建,但问题是ffmpeg使用C99,MSVC(在visual studio和qt中)与C99不兼容。
  • C++ 不支持 C99 中的哪些添加?当你说不兼容时,你是什么意思?

标签: c++ ffmpeg mp3


【解决方案1】:

你可以试试Helix

它具有针对嵌入式平台和 arm 架构的优化版本。

【讨论】:

    【解决方案2】:

    有几个选项:

    GStreamer 是一个用于构建媒体处理组件图的跨平台库。它支持的应用范围从简单的 Ogg/Vorbis 播放、音频/视频流到复杂的音频(混合)和视频(非线性编辑)处理。

    This page 有一些关于 GStreamer 和 MP3 格式的非常有趣的信息,如果您决定使用 GStreamer,这是必读的:

    MP3 音频格式很痛苦。它受专利保护,使得 Linux 发行商很难在世界各地合法地打包(或 Linux 用户使用)。与某些替代方案相比,它甚至听起来都不是那么好。然而 MP3 是难以避免的;

    除此之外,Gstreamer 通过 gst-launch 提供了一个命令行界面,这对于在您开始编写代码之前测试您在程序中组装的管道非常有用: p>

    gst-launch filesrc location=/path/to/audiofile ! decodebin ! oss4sink
    

    如果您需要build GStreamer on Windows,请查看此tutorial for Visual Studio

    PortAudio 是一个免费、跨平台、开源的音频 I/O 库。它让您可以使用“C”或 C++ 编写简单的音频程序,这些程序可以在许多平台上编译和运行,包括 Windows、Macintosh OS X 和 Unix (OSS/ALSA)。

    MP3 支持来自libmad。有tutorials 帮助构建和使用该库。

    【讨论】:

      【解决方案3】:

      我想 gstreamer 是最好的选择,但你也可以使用 LibVLC,它是 vlc 播放器的核心。

      【讨论】:

        【解决方案4】:

        我想上次我需要我使用libMAD。运行良好,但它是一个 C 库。

        【讨论】:

          【解决方案5】:

          看看bass

          几年前我使用过它,它易于使用,多平台,音质好,开发人员非常支持。非商业用途免费。

          【讨论】:

            【解决方案6】:

            你看过LAME吗?另外,请注意,mp3 算法是受专利保护的,因此无论您使用哪个库,都需要谨慎行事。

            【讨论】:

            • 我认为 LAME 仅用于编码。是的,我知道这些专利,但仍然有很多图书馆要做这项工作。
            • Lame 有使用 mpg123 的内置解码器
            猜你喜欢
            • 2013-02-19
            • 2012-01-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-26
            • 2011-04-11
            • 1970-01-01
            相关资源
            最近更新 更多