you should be doing your waveOutStream Init and Play outside the loop, and use a BufferedWaveProvider to feed wave out. Inside the loop, you shuold put the data received into the BufferedWaveProvider.
Also, from your code, it looks like you are on a background thread so I recommend using WaveOutEvent instead of WaveOut for playback.
Mark