1

Java Sound APIを使用して、InputStream含まれているデータを MP3 ファイルからに変換しようとしています。AudioInputStream

しかし、Exceptionそうしようとすると、遭遇し続けます。

問題を引き起こす方法は次のとおりです。

public static int[][] getAmpFromInputStream(InputStream is) throws Exception{
    BufferedInputStream bs = new BufferedInputStream(is);
    AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(bs);
    byte[] bytes = new byte[(int) (audioInputStream.getFrameLength()) * (audioInputStream.getFormat().getFrameSize())];
    audioInputStream.read(bytes);

    // Get amplitude values for each audio channel in an array.
    return getUnscaledAmplitude(bytes, 1);
}

Exceptionスローされるのは次のとおりです。

javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
    at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
    at PitchChanger.getAmpFromInputStream(PitchChanger.java:27)
    at GUI$PlayMP3Thread.silly(GUI.java:128)
    at GUI$PlayMP3Thread.run(GUI.java:115)
    at java.lang.Thread.run(Unknown Source)

しかし、これは私を混乱させます.同じものを使っInputStreamJavazoom.jl.player.Player.

では、なぜ をInputStreamに変換できないのAudioInputStreamでしょうか。

Java Sound は MP3 ファイル形式をサポートしていませんか?

4

1 に答える 1

0

Javazoom は、AudioSystem が RAW データ (WAV 形式の生サンプル) を提供する必要がある場合、MP3 (デコーダーあり) をサポートします。

于 2013-08-08T17:34:51.763 に答える