0

AudioInputStream があり、FLAC AudioInputStream が必要です。

jflac ライブラリの FlacEncoding.FLAC を使用しています。

mp3 を処理するために mp3plugin.jar をクラスパスに追加しました。

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;

import org.kc7bfi.jflac.sound.spi.FlacEncoding;

public AudioInputStream getFlacStream(AudioInputStream ais) {
    FlacEncoding encoding = FlacEncoding.FLAC;
    AudioInputStream flacStream = AudioSystem.getAudioInputStream(encoding,
            ais);
    return flacStream;
}

しかし、それはエラーを出します:

Exception in thread "main" java.lang.IllegalArgumentException: Unsupported conversion: FLAC from MPEG2L3 22050.0 Hz, unknown bits per sample, mono, unknown frame size, unknown frame rate, 
    at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:876)
    at FlacConverter.getFlacStream(FlacConverter.java:43)
    at FlacConverter.getFlacBytes(FlacConverter.java:36)
    at FlacConverter.main(FlacConverter.java:25)

更新:

私が電話するとき

AudioSystem.getTargetEncodings(ais.getFormat());

エンコーディングが 1 つだけの配列を取得します。

PCM_SIGNED
4

1 に答える 1

1

jflac は現在、FLAC へのエンコードではなく、FLAC からのデコードのみをサポートしています。

あなたが望むことをするかもしれないsourceforgeにjavaFlacEncoderプロジェクトがあるようです。

于 2013-09-05T07:37:31.427 に答える