最近项目用到读取amr格式的音频,但是h5不支持这种格式,前台处理不太擅长感觉太过麻烦,所以还是在后端转格式吧。
用到一个jar: jave.jar
网址:https://www.sauronsoftware.it/projects/jave/download.php
演示代码也比较简单,传入需要转换的amr音频文件所在的路径,以及新生成的mp3文件所在的路径就可以了
import it.sauronsoftware.jave.*;
import java.io.File;
/**
* Created by xhzhang on 2018/10/23.
*/
public class demo {
public static void main(String[] args) throws Exception {
String sourcePath = "D:/MediaRoot/123.amr";
String targetPath = "D:/MediaRoot/123.mp3";
changeToMp3(sourcePath, targetPath);
}
public static void changeToMp3(String sourcePath, String targetPath) {
File source = new File(sourcePath);
File target = new File(targetPath);
AudioAttributes audio = new AudioAttributes();
Encoder encoder = new Encoder();
audio.setCodec("libmp3lame");
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);
try {
encoder.encode(source, target, attrs);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InputFormatException e) {
e.printStackTrace();
} catch (EncoderException e) {
e.printStackTrace();
}
}
}
linux服务器转换失败的话看这个