is.close();
throw new WaveFormatException("WAVE header missing");
}
// now, read in each chunk
FormatChunk formatChunk = null;
AudioDataChunk audioChunk = null;
byte[] chunkId = new byte[4];
byte[] chunkSize = new byte[4];
byte[] chunkData;
while (is.read(chunkId) == 4) {
is.read(chunkSize);
int size = (int)EndianConverter.littleEndianIntToJavaLong(chunkSize);
if (Arrays.equals(chunkId, FormatChunk.FORMAT_CHUNK_HEADER)) {
chunkData = new byte[size];
is.read(chunkData);
formatChunk = new FormatChunk();
try {
formatChunk.setChunkData(chunkData);
} catch (ChunkFormatException e) {
is.close();
throw new WaveFormatException("Bad Format Header");
}
} else if (Arrays.equals(chunkId,AudioDataChunk.AUDIO_DATA_CHUNK_HEADER)) {