MP3 кодирование на Java - PullRequest
       49

MP3 кодирование на Java

10 голосов
/ 25 ноября 2008

Мне нужен OpenSource API в Java, который может кодировать форматы * .wav и * .au в MP3 и наоборот.

Я оценил Java Sound API и LameOnJ , но они не соответствуют моим требованиям и не стабильны соответственно. Пожалуйста, предложите тот, который является бесплатным и независимым от платформы.

Ответы [ 5 ]

6 голосов
/ 25 ноября 2008

Возможно, вам не найдется адекватного ответа, поскольку формат MP3 требует, чтобы авторы декодеров / кодировщиков получили лицензию от Института Фраунгофера.

Я думаю, что библиотека LAME распространяется из страны, которая не уважает эти проблемы с ИС, но для этого потребовалось значительное количество легальных хакеров.

Для любых других библиотек, например, написанных на Java, авторам необходимо получить аналогичную лицензию. Где стоимость является проблемой - например, в проекте с открытым исходным кодом этого достаточно для сдерживания запуска.

Подробнее см. В этой статье в википедии .

Если LAME4J недостаточно стабилен для вас, то, боюсь, у вас есть варианты:

  • дождитесь, пока Sun выдаст лицензию на формат для ядра JRE. Это, я думаю, что они сделали недавно, но я не знаю ни о каких датах выпуска (возможно, чтобы сделать с JavaFX)
  • Реализуйте свой язык на Java и оплатите лицензию. Мне бы это тоже не понравилось.
  • написать свою собственную оболочку Java для LAME, через JNA или SWIG
  • внести свой вклад в Lame4J.
  • выберите другой формат. OGG и FLAC довольно хороши и относительно хорошо поддерживаются.
4 голосов
/ 31 июля 2011

Это было некоторое время, но Oracle / Sun выпустила поддержку MP3 для JMF. Это можно скачать по следующему адресу: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html

Добавление его в classpath включит воспроизведение через API AudioSystem.

2 голосов
/ 28 февраля 2011

LAME4J использует бесплатную, но ограниченную по времени лицензию, а неограниченная лицензия будет стоить вам денег.

Я обнаружил библиотеку Lamejb в SourceForge, которая требует только двоичные файлы и работает без дополнительной лицензии.

1 голос
/ 22 мая 2011

Если вы ищете чистую версию Java от lame, проверьте следующие источники: http://jsidplay2.cvs.sourceforge.net/viewvc/jsidplay2/jump3r/

1 голос
/ 25 ноября 2008

Используйте Process API для вызова SoX

SoX поставляется с исходным кодом или в виде предварительно скомпилированных двоичных файлов для Windows и Mac.

...