Java-.wavからヘッダーを削除する
質問
次のコードを使用して、.wavファイルをバイト配列に読み取ります。
AudioInputStream inputStream =
AudioSystem.getAudioInputStream(/*my .wav file */);
int numBytes = inputStream.available();
byte[] buffer = new byte[numBytes];
inputStream.read(buffer, 0, numBytes);
inputStream.close();
バイト配列を読み込む前または読み込んだ後に.wavヘッダーを削除する簡単な方法はありますか?
解決
他のヒント
AudioInputStream read()メソッドからのデータは既に生のwavデータです。したがって、.wavヘッダーを心配する必要はありません。ヘッダーにアクセスしたい場合は、このAudioInputStreamに関連付けられたAudioFormatオブジェクトを使用します。
http://download.oracle.com/javase/tutorial/sound/ converters.html
ところで、.wavファイルが非常に小さい場合を除き、サンプルで行ったように1回の読み取りですべてを取得することはできません。上記のチュートリアルの最初のコードスニペットのように、whileループに読み取りを配置する必要があります。
.wavヘッダーの長さが44バイトである場合、最初の44個をスキップ/削除すると、そこにあることになります。
確かにわからない。
wavファイルヘッダーは固定サイズですか?もしそうならinputStream.skip?
所属していません StackOverflow