Кодирование MP3 в Java
Мне нужен API-интерфейс OpenSource на Java, который может кодировать *.wav и *.au форматы в MP3 и наоборот.
Я оценил API Java Sound и LameOnJ, но они не соответствуют моим требованиям и не стабильны соответственно. Пожалуйста, предложите бесплатную и независимую платформу.
Ответы
Ответ 1
Возможно, для вас не может быть адекватного ответа, однако, поскольку формат MP3 требует от авторов декодера/кодировщиков лицензии от Fraunhofer Institute.
Я думаю, что библиотека LAME распространяется из страны, которая не уважает эти проблемы с ИС, но для этого достаточно значительного количества судебных хакеров.
Для любых других библиотек, например, написанных на Java, авторам необходимо получить аналогичную лицензию. Где стоимость - проблема. в проекте с открытым исходным кодом, то этого достаточно для того, чтобы начать работу.
Подробнее см. в статье статьи в википедии.
Если LAME4J недостаточно стабилен для вас, я боюсь, что ваши варианты:
- подождите, пока Sun выдает лицензию на формат основной JRE. Это, я думаю, они сделали недавно, но я не знаю никаких дат выпуска (возможно, с JavaFX).
- реализовать свой собственный Java и заплатить лицензию. Я бы тоже этого не хотел.
- напишите свою собственную оболочку Java в LAME, через JNA или SWIG
- вклад в Lame4J.
- выберите другой формат. OGG и FLAC неплохие и относительно хорошо поддерживаются.
Ответ 2
Было ли какое-то время, но Oracle/Sun выпустила поддержку MP3 для JMF. Это можно скачать со следующего URL:
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html
Добавление его в путь к классам позволит включить воспроизведение через AudioSystem api.
Ответ 3
LAME4J использует бесплатную, но ограниченную по времени лицензию, а неограниченная лицензия обойдется вам в немного денег.
Я нашел библиотеку Lamejb в SourceForge, которая требует только хромых двоичных файлов и хорошо работает без какого-либо дополнительного лицензирования.
Ответ 4
Используйте Process API для вызова SoX
SoX поставляется с исходным кодом или как предварительно скомпилированные двоичные файлы для Windows и Mac.
Ответ 5
Если вы ищете чистую java-версию lame, проверьте эти источники:
http://jsidplay2.cvs.sourceforge.net/viewvc/jsidplay2/jump3r/