35

我为 sox 编译了 libmad。当我尝试阅读 mp3 时,我收到以下消息:

sox FAIL util:无法加载 MAD 解码器库 (libmad) 函数“mad_stream_buffer”。

我是否错误地编译了项目?

4

6 回答 6

68

使用 SOX 创建 MP3 的步骤:

  1. 下载最新版本的SOX并安装。
  2. 下载libmad-0.dlllibmp3lame-0.dll. 目前唯一已知的可靠来源是ossbuild,但这需要您下载 1.5 GB 的存档。选定的两个文件可在此处此处获得。
  3. 添加libmad-0.dlllibmp3lame-0.dll到安装 SOX 的文件夹。
  4. 使用命令行将文件转换为.mp3

    sox input.wav -c 2 -C 128 output.mp3
    

注意: -c 2使其成为立体声,-C 128指定输出为 128 kbps MP3

于 2014-05-29T17:32:29.590 回答
6

您可以从http://www.videohelp.com/software/SoX下载 SoX 二进制文件以及 libmad.dll 和 libmp3lame.dll

http://www.videohelp.com/download/sox-14.4.0-libmad-libmp3lame.zip

于 2016-08-20T02:30:53.700 回答
5

使用 Lame 和 Libmad 为 Windows 编译 SOX http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx

于 2011-01-28T10:43:11.187 回答
4

我将来自http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/的原始 SoX 二进制文件和 libmad 和 libmp3lame 放在一起

用于 Win32 的 SoX 二进制文件以及 libmad 和 libmp3lame

谢谢,这很容易。感谢分享这个简单的解决方案。

于 2012-10-12T05:38:45.633 回答
4

我将来自http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/的原始 SoX 二进制文件和 libmad 和 libmp3lame 放在一起

用于 Win32 的 SoX 二进制文件以及 libmad 和 libmp3lame

于 2012-08-16T04:53:50.373 回答
0

从源代码编译:

因为教程http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx已经过时了(并且不适用于我最近的 VisualStudio 版本):
SOX 项目包含现成的 Visual Studio 项目用于在 Windows 上编译 SOX 及其依赖项/库(例如,使用 Visual Studio 社区版)。

SourceForge 上的 SOX 源代码存储库包含一个目录msvc10(以及msvc9),用于使用 VisualStudio 编译 SOX 及其依赖项。Readme.txt中有详细说明。

因此,例如,仅用于编译libmad.dll

  • 克隆 SOX 存储库,例如到目录sox-code/
git clone https://git.code.sf.net/p/sox/code sox-code
sox-code/
libmad/
  • 打开*.sln目录中的 VisualStudio 项目文件 ( ) sox-code/msvc10 (如果需要,将构建配置表单更改DebugRelease
  • 在解决方案资源管理器窗口中打开子项目的上下文菜单LibMad并选择Build(或在较旧的 VS 版本中Project OnlyBuild Only LibMad
  • 之后编译的 DLL 位于sox-code/msvc10/Release(或Debug取决于所选配置)

使用 VisualStudio 2010 和 Visual Studio 2017 CE 测试

于 2019-10-09T15:14:49.387 回答