0

入力MP3ファイルのビットレートを切り替えて出力ファイルに保存するために、Javaでxuggluを使用しています。ネットで見つけた例を 1 つ取り上げて、ファイルをリーダーにロードし、ライターをリスナーとして追加します。ビットレートを変更する方法を知っている人はいますか?

これが私が使用しているコードです:

import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.mediatool.ToolFactory;
import org.slf4j.LoggerFactory;


public class TranscodingExample {

private static final String inputFilename = "/home/user/Desktop/file_changed.mp3";
private static final String outputFilename = "/home/user/Desktop/file_changed.flv";

public static void main(String[] args) {

    // create a media reader
    IMediaReader mediaReader =
           ToolFactory.makeReader(inputFilename);

    // create a media writer
    IMediaWriter mediaWriter =
           ToolFactory.makeWriter(outputFilename, mediaReader);

    // add a writer to the reader, to create the output file
    mediaReader.addListener(mediaWriter);

    // create a media viewer with stats enabled
    IMediaViewer mediaViewer = ToolFactory.makeViewer(true);

    // add a viewer to the reader, to see the decoded media
    mediaReader.addListener(mediaViewer);

    // read and decode packets from the source file and
    // and dispatch decoded audio and video to the writer
    while (mediaReader.readPacket() == null) ;

}
}

編集-1:

私はこれを回避することができなかったので、Java アプリ内でそれを行う Linux コマンドを使用しました。コードへの参照はこちらにあります。私が使用したコマンドは次のとおりです。

ffmpeg -i in.mp3 -b 112k out.mp3

mp3 を 112k に等しいビットレートの新しいものに変換します。

4

1 に答える 1

1

IAudioResamplerを見てください:

IAudioSamples を異なるサンプル レートまたはチャネル数にリサンプリングするために使用されます。

于 2012-08-06T12:41:08.557 に答える