amr格式音频转为mp3格式

最近项目用到读取amr格式的音频,但是h5不支持这种格式,网上有一些是通过插件的方式来读取,amrlib.js之类,但是不擅长前端,而且有一些插件是要求把文件转为base64编码格式,然后把这些base64码当做参数传入一个js函数中,用着比较麻烦。

所以还是在后端转格式吧。

用到一个jar包,jave.jar

演示代码也比较简单,传入需要转换的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();
        }
    }
}

 

你可能感兴趣的:(Java,web)