如何在Java中将Mp3转换为Amr音频格式

时间:2012-12-28 07:42:04

标签: java audio mp3 media amr

我正在编写Java应用程序,我想将Mp3转换为Amr音频格式。 所以,我没有成功,因为没有文件或图书馆可以提供帮助。 如果可能的话,你能否举例说明如何处理。

感谢。

2 个答案:

答案 0 :(得分:3)

我发现这个名为jave的库你可以将媒体格式转换为另一种格式。你可以看到图书馆here

以下是我使用上述插件执行的示例代码

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

答案 1 :(得分:0)

JAVE是一种众所周知的非常有用的格式转换工具,但是它存在一些问题,EncoderException就是其中之一。

我创建了一个项目以使其更新并易于使用。

https://github.com/dadiyang/jave

English Documentation Here

此工具主要用于将AMR转换为MP3格式,以便在HTML5的音频标签中播放。它包装ffmpeg,并使其具有跨平台功能。

基于依赖ffmpeg的JAVE项目,此工具可用于所有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);
}

希望对您有帮助。

啊哈,别忘了看星星。