sox FAIL util: Невозможно загрузить библиотеку MAD (libmad) с функцией "mad_stream_buffer"
Я скомпилировал libmad для sox. Когда я пытаюсь прочитать mp3, я получаю это сообщение:
sox FAIL util: Невозможно загрузить функцию библиотеки MAD декодера (libmad) "mad_stream_buffer".
Я неправильно скомпилировал проект?
5 ответов
Шаги к использованию SOX для создания MP3:
- Загрузите последнюю версию SOX и установите.
- Скачать
libmad-0.dll
а такжеlibmp3lame-0.dll
, В настоящее время известен только надежный источник ossbuild, но для этого необходимо загрузить архив объемом 1,5 ГБ. Выбранные два файла доступны здесь и здесь. - добавлять
libmad-0.dll
а такжеlibmp3lame-0.dll
в папку, в которую был установлен SOX. Используйте командную строку для преобразования файла в
.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, libmad и libmp3lame с http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/
Компиляция 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
- скачать
libmad
исходный код из SourceForge и распаковать в каталогlibmad/
(см. инструкции SOX VisualStudio Readme.txt, см. ссылку выше), т.е. структура каталогов должна выглядеть так:
sox-code/
libmad/
- откройте файл проекта VisualStudio (
*.sln
) в каталогеsox-code/msvc10
(при необходимости изменить форму конфигурации сборкиDebug
кRelease
) - в окне обозревателя решений откройте контекстное меню для подпроекта
LibMad
и выберитеBuild
(или в более старых версиях VSProject Only
→Build Only LibMad
) - после этого скомпилированная DLL находится в
sox-code/msvc10/Release
(илиDebug
в зависимости от выбранной конфигурации)
протестировано с VisualStudio 2010 и Visual Studio 2017 CE