我正在编写一个 Java 应用程序,我想将 Mp3 转换为 Amr 音频格式。因此,我无法成功,因为没有文档或库可以提供帮助。如果可能的话,您能否通过示例提示如何处理。
谢谢。
我发现这个名为 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
JAVE 是一个众所周知且非常有用的格式转换工具,但它存在一些问题,EncoderException 就是其中之一。
我创建了一个项目以使其更新且易于使用。
https://github.com/dadiyang/jave
该工具主要用于将 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);
}
愿它对你有所帮助。
啊哈,别忘了加星。