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