Как конвертировать MP3 в аудиоформат Amr в Java

Я пишу Java-приложение и хочу конвертировать MP3 в аудиоформат Amr. Итак, я не смог добиться успеха, так как нет документации или библиотек, которые могли бы помочь. если возможно, не могли бы вы подсказать, как обрабатывать, с примерами.

Спасибо.


person Hakan Ilgar    schedule 28.12.2012    source источник


Ответы (2)


Я нашел эту библиотеку под названием jave, вы можете конвертировать формат мультимедиа в другой формат. вы можете посмотреть библиотеку здесь

Вот пример кода, который я сделал с помощью указанного плагина.

Encoder encoder = new Encoder();
    EncodingAttributes attributes = new EncodingAttributes();
    attributes.setFormat("wav");
    AudioAttributes audio = new AudioAttributes();
    audio.setBitRate(new Integer(64000));
    audio.setChannels(new Integer(1));
    audio.setSamplingRate(new Integer(22050));
    attributes.setAudioAttributes(audio);

    File source = new File("mysong.mp3");
    File target = new File("mysong.wav");
    try {
        encoder.encode(source, target, attributes);
    } catch (IllegalArgumentException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (InputFormatException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (EncoderException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

Код, который я разместил, в основном преобразует mp3 в wav.

person KyelJmD    schedule 28.12.2012
comment
Когда я использую этот пример кода, он дает это исключение. Это нормально? it.sauronsoftware.jave.EncoderException: Ошибка при открытии кодека для выходного потока #0.0 - возможно, неправильные параметры, такие как битовая скорость, скорость, ширина или высота - person Hakan Ilgar; 28.12.2012
comment
похоже я что-то пропустил. На данный момент меня нет на моем компьютере разработчика, пожалуйста, попробуйте обратиться к документации - person KyelJmD; 28.12.2012
comment
@chburd Я использовал Это сказал API, что вы подразумеваете под исключениями NazGul, ваш ответ не по теме. Кроме того, это не доставило мне никаких проблем. относительно моего ответа. Ошибка в том, что я забыл указать кодек, который будет использоваться. просто укажите свой собственный кодек, audio.setCodect(nameofcodechere); а также настроить битрейт. - person KyelJmD; 28.12.2012
comment
простите за мои глупые шутки. читайте Властелина Колец от Толкина, чтобы узнать, кто такой Саурон - person chburd; 28.12.2012

JAVE — хорошо известный и очень полезный инструмент для преобразования формата, но у него есть некоторые проблемы, EncoderException — одна из них.

Я создал проект, чтобы сделать его обновленным и простым в использовании.

https://github.com/dadiyang/jave

Документация на английском языке здесь

Этот инструмент в основном используется для преобразования формата AMR в MP3 для воспроизведения в звуковом теге HTML5. Он является оболочкой ffmpeg и делает его кроссплатформенным.

Основанный на проекте JAVE, основанном на ffmpeg, этот инструмент можно использовать для преобразования всех форматов, поддерживаемых ffmpeg. Подробности смотрите в официальной документации JAVE.

Единственное, что вам нужно сделать, это:

Включить зависимость от Maven

<dependency>
    <groupId>com.github.dadiyang</groupId>
    <artifactId>jave</artifactId>
    <version>1.0.0</version>
 </dependency>

И вызовите метод AudioUtils.amrToMp3

public void amrToMp3()  {
    File source = new File("testAudio.amr");
    File target = new File("testAudio.mp3");
    AudioUtils.amrToMp3(source, target);
}

Пусть это поможет вам.

Ага, не забудьте поставить звездочку.

person Shine Huang    schedule 17.12.2018