Сжатие MP3, т.е. преобразование mp3-файла из 256 кбит/с в 128 кбит/с в java

Я хочу добиться сжатия mp3 .. это означает, что я хочу преобразовать mp3-файл со скоростью 256 кбит / с в mp3-файл со скоростью 128 или даже 64 кбит / с с использованием языка программирования Java ..

возможно ли использовать JLayer ..? как мне это сделать..?

Фрагмент кода был бы полезен


person veenit33    schedule 11.01.2010    source источник
comment
Вы нашли решение для вышеизложенного?   -  person Potney Switters    schedule 08.08.2012


Ответы (4)


Чтобы преобразовать файл MP3 в файл с более низким битрейтом, вы должны декодировать и повторно кодировать файл, поэтому вам нужен декодер MP3 и кодировщик MP3.

Вам нужно будет найти библиотеку Java для декодирования MP3. Одним из вариантов может быть LameOnJ. Это оболочка для «хромого» кодировщика MP3, использующая двоичный файл/DLL для конкретной платформы.

Также может быть чисто Java-решение, но я его не знаю.

См. также Кодирование MP3 в Java.

person sleske    schedule 11.01.2010
comment
я не могу использовать JLayer для кодирования и декодирования ....? - person veenit33; 11.01.2010
comment
Конечно, похоже, вы можете, вы пробовали? - person Nick Veys; 11.01.2010

JLayer только декодирует. Не существует стопроцентного Java-решения для кодирования. LAME официально распространяется только в исходном коде, поэтому, если вы хотите избежать нарушения патентных прав, вы не можете распространять двоичные файлы LAME вместе с вашей программой без покупки лицензии.

person Denis Tulskiy    schedule 11.01.2010

Декодировать MP3 просто. Однако кодирование MP3 чревато патентами, лицензиями и общим юридическим хаосом. LAME — это одна из возможностей адаптации, но она также страдает от возможных судебных разбирательств. Также известно, что он плох при более низких скоростях передачи данных. Он написан на C, поэтому вам придется сделать перевод.

person wallyk    schedule 11.01.2010
comment
Вы можете использовать Java Native Access (JNA). Это довольно простой способ получить доступ к библиотекам C из Java. И под довольно простым я подразумеваю, что вы просто пишете интерфейс и включаете файл jna.jar. - person ; 11.01.2010
comment
@Greg: На самом деле LameOnJ (см. мой ответ) — это именно оболочка Java для библиотеки lame, поэтому нет необходимости напрямую использовать JNA (хотя это было бы возможно). - person sleske; 12.01.2010
comment
Распространенной ошибкой является мнение, что кодирование MP3 является простым. Лицензионные сборы причитаются патентному консорциуму как за декодеры, так и за кодеры. Базовые тарифы начинаются с 0,75 долларов США за программный декодер и 2,50 долларов США за кодировщик (включая лицензию на декодер). - person jarnbjo; 12.01.2010

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

person kenchis    schedule 22.05.2011