sox FAIL util: Unable to load MAD decoder library (libmad) function “mad_stream_buffer”

瘦欲@ 提交于 2019-11-29 01:43:09

问题


I compiled libmad for sox. When I try to read an mp3 I get this message:

sox FAIL util: Unable to load MAD decoder library (libmad) function "mad_stream_buffer".

Did I compile the project incorrectly?


回答1:


Steps to using SOX to create MP3s:

  1. Download latest version of SOX and install.
  2. Download libmad-0.dll and libmp3lame-0.dll. The currently only known trustworthy source is ossbuild but this requires you to download a 1.5 GB archive. The selected two files are available here and here.
  3. Add libmad-0.dll and libmp3lame-0.dll to the folder where SOX was installed to.
  4. Use the command line to convert a file to .mp3:

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

Note: -c 2 makes it stereo, -C 128 specifies output as 128 kbps MP3




回答2:


Compiling SOX with Lame and Libmad for Windows http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx




回答3:


I have put together the original SoX binary and libmad and libmp3lame from http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/

SoX binary for Win32 together with libmad and libmp3lame




回答4:


I have put together the original SoX binary and libmad and libmp3lame from http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/

SoX binary for Win32 together with libmad and libmp3lame

Thanks that was easy. Thanks for sharing this easy solution.




回答5:


You can download SoX binaries together with libmad.dll and libmp3lame.dll from http://www.videohelp.com/software/SoX

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




回答6:


for compiling from source:

since the the tutorial http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx is rather dated (and did not work for me with more recent VisualStudio versions):
the SOX project contains ready-to-use Visual Studio projects for compiling SOX and its dependencies/libraries on Windows (e.g. using a Visual Studio Community Edition).

The SOX source code repository at SourceForge contains a directory msvc10 (and also msvc9) for compiling SOX and its dependencies with VisualStudio. Detailed instructions for that are in the Readme.txt.

So, for example, for only compiling libmad.dll:

  • clone SOX repository, e.g. to directory sox-code/
git clone https://git.code.sf.net/p/sox/code sox-code
  • download libmad source code from SourceForge and decompress to directory libmad/ (cf. instructions of the SOX VisualStudio Readme.txt, see link above), i.e. the directory structure should look like
sox-code/
libmad/
  • open the VisualStudio project file (*.sln) in directory sox-code/msvc10 (if needed, change build configuration form Debug to Release)
  • in the Solution Explorer window open context-menu for sub-project LibMad and select Build (or in older VS versions Project OnlyBuild Only LibMad)
  • afterwards the compiled DLL is in sox-code/msvc10/Release (or Debug depending on the selected configuration)

tested with VisualStudio 2010 and Visual Studio 2017 CE



来源:https://stackoverflow.com/questions/3537155/sox-fail-util-unable-to-load-mad-decoder-library-libmad-function-mad-stream

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!