6

私はJavaにかなり慣れていません...周波数/時間グラフまたはwavファイルからのサンプル画像をプロットしたいと思います。まず、 AudioInputStream を使用して Wav ファイルから生データ配列を取得するのに苦労しています Java での wav ファイルの読み取りからも参照しています。http://www.labbookpages.co.uk/audio/javaWavFiles.htmlを参照して WavFile クラスも試しましたが、テスト時に、「WavFile」-「シンボルが見つかりません」というエラーを満たす正しいパッケージを見つけることができませんでした。提供された import java.io.*; そのサンプルはこれを満たしていませんでした...

繰り返しますが、Wav ファイルの配列形式の生データを取得したいと考えています。

私は例からはるかに簡単に学ぶので、これの小さな例が大好きです! 御時間ありがとうございます

4

2 に答える 2

3

wav ファイル (ヘッダー) から最初の 44 バイトをスキップし、次の関数を使用してデータを読み取ります。

private static double readLEShort(RandomAccessFile f) {
try {
    byte b1 = (byte) f.read();
    byte b2 = (byte) f.read();
    return (double) (b2 << 8 | b1 & 0xFF) / 32767.0;
} catch (IOException e) {
    e.printStackTrace();
}
return 0;
}

チャネルごとに 1 つの値。これにより、-1 から 1 の間の数値が得られ、グラフに描画できます。それがうまくいくことを願っています

于 2012-05-19T16:52:47.450 に答える