I've used Javazoom project for decode MP3 files:
Decoder decoder = new Decoder();
Next we can get stream of bytes:
Bitstream bs = new Bitstream(fis);
Frame is small part of file, for .wav files a frame is a signal, for .mp3 files signal is encoded, so we can:
read header of frame:
Header header = bs.readFrame();
decode frame:
SampleBuffer sBuffer = (SampleBuffer) decoder.decodeFrame(header, bs);
and close frame:
bs.closeFrame();
Now we can read array of bytes:
short[] buffer = sBuffer.getBuffer();
Voila, buffer[n] is amplitude of wave (from -36k to 36k)
Required imports:
import javazoom.jl.decoder.Bitstream;
import javazoom.jl.decoder.Decoder;
import javazoom.jl.decoder.Header;
import javazoom.jl.decoder.SampleBuffer;
PS. you can download source code
here