sox FAIL util: Невозможно загрузить библиотеку MAD (libmad) с функцией "mad_stream_buffer"

Я скомпилировал libmad для sox. Когда я пытаюсь прочитать mp3, я получаю это сообщение:

sox FAIL util: Невозможно загрузить функцию библиотеки MAD декодера (libmad) "mad_stream_buffer".

Я неправильно скомпилировал проект?

5 ответов

Шаги к использованию SOX для создания MP3:

  1. Загрузите последнюю версию SOX и установите.
  2. Скачать libmad-0.dll а также libmp3lame-0.dll, В настоящее время известен только надежный источник ossbuild, но для этого необходимо загрузить архив объемом 1,5 ГБ. Выбранные два файла доступны здесь и здесь.
  3. добавлять libmad-0.dll а также libmp3lame-0.dll в папку, в которую был установлен SOX.
  4. Используйте командную строку для преобразования файла в .mp3:

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

Замечания: -c 2 делает это стерео, -C 128 определяет выход как MP3 128 кбит / с

Вы можете скачать двоичные файлы SoX вместе с libmad.dll и libmp3lame.dll с http://www.videohelp.com/software/SoX

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

Компиляция SOX с использованием Lame и Libmad для Windows http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx

Я собрал оригинальный бинарный файл SoX, libmad и libmp3lame с http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/

Двоичный файл SoX для Win32 вместе с libmad и libmp3lame

Спасибо, что было легко. Спасибо, что поделились этим простым решением.

Для компиляции из исходников:

поскольку учебник http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx довольно устарел (и не работал для меня с более поздними версиями VisualStudio):
проект SOX содержит готовые к использованию проекты Visual Studio для компиляции SOX и его зависимостей / библиотек в Windows (например, с использованием Visual Studio Community Edition).

Репозиторий исходного кода SOX на SourceForge содержит каталогmsvc10 (а также msvc9) для компиляции SOX и его зависимостей с помощью VisualStudio. Подробные инструкции для этого находятся в Readme.txt.

Так, например, только для компиляции libmad.dll:

  • клонировать репозиторий SOX, например, в каталог sox-code/
git clone https://git.code.sf.net/p/sox/code sox-code
sox-code/
libmad/
  • откройте файл проекта VisualStudio (*.sln) в каталоге sox-code/msvc10 (при необходимости изменить форму конфигурации сборки Debug к Release)
  • в окне обозревателя решений откройте контекстное меню для подпроекта LibMad и выберите Build (или в более старых версиях VS Project OnlyBuild Only LibMad)
  • после этого скомпилированная DLL находится в sox-code/msvc10/Release (или Debug в зависимости от выбранной конфигурации)

протестировано с VisualStudio 2010 и Visual Studio 2017 CE

Другие вопросы по тегам