2

ストア オーディオ データをオーディオ ファイル (.au) からバイト配列に読み込む方法を誰か教えてもらえますか? Oracle の Java ドキュメントを見てきましたが、その情報を使用してプログラムを作成する方法がわかりません。

4

1 に答える 1

3

「オーディオ データ」によって、ヘッダー情報とメタデータを含まない、AU ファイルからのオーディオ サンプルが必要であると推測しています。ファイルの内容をメモリにロードするだけの場合は、提案されているように FileInputStream を使用してください。

それ以外の場合、サンプルを読み取るには、AudioSystemAudioInputStreamを使用できます。

File myFile = new File("test.au");
byte[] samples;

AudioInputStream is = AudioSystem.getAudioInputStream(myFile);
DataInputStream dis = new DataInputStream(is);      //So we can use readFully()
try
{
    AudioFormat format = is.getFormat();
    samples = new byte[(int)(is.getFrameLength() * format.getFrameSize())];
    dis.readFully(samples);
}
finally
{
    dis.close();
}
于 2012-11-01T01:04:52.287 に答える