我有一个跨平台应用程序,想要添加音频注释功能。 我正在寻找以下特点的音频播放/录制库: 跨平台(Windows、Linux、Mac) 简单快速地集成到现有项目中 不使用cygwin进行Windows构建 具有C++绑定 我看到了gstreamer,但我觉得它对于我的简单用例来说太高级了。
我曾经使用过sox,但目前在Mac上录音似乎出了问题。如果您可以在没有它的情况下从设备录制,它具有良好的文件处理功能。 PortAudio被用于高知名度的声音应用程序Audiomulch中。 我没有使用过RtAudio,但我使用过使用它的项目。它可以处理JACK、CoreAudio、ALSA、OSS、DirectSound和ASIO。 libsndfile是需要处理音频文件的项目的常见依赖项,作为sox的替代方案。
我相信ffmpeg可以胜任。它几乎支持所有格式,并且已经证明了其价值。不幸的是,它需要一个类UNIX的shell来构建。你不需要Cygwin,但可以使用MSYS,你可以在这里找到最新的二进制分发版。对于简单的音频(录制)功能来说,它可能过于复杂,但你提到了支持不同格式的能力。你不能使用Visual C++编译器编译ffmpeg,但是一旦库被GCC或其他符合C99标准的编译器构建,你就可以使用它。