amr形式オーディオをmp 3形式に変換

1468 ワード

最近のプロジェクトではamr形式のオーディオを読み取るために使用されていますが、h 5はこの形式をサポートしていません.ネット上にはプラグインで読み取るものがあります.amrlib.jsなどですが、フロントエンドが苦手で、ファイルをbase 64符号化フォーマットに変換し、これらのbase 64符号をパラメータとしてjs関数に渡すのが面倒なプラグインもあります.
だからやはりバックエンドでフォーマットを変えましょう.
jarパッケージを1つ使いますjave.jar
プレゼンテーションコードも比較的簡単で、変換が必要なamrオーディオファイルがあるパスと、新しく生成されたmp 3ファイルがあるパスを入力すればよい.
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();
        }
    }
}