I am attaching a test application that demonstrates this problem.
> java JavaSoundStreamPlayer
Load a sampled audio file, then try this sequence:
- Start (sound starts playing)
- Stop (sound stops)
- Start (no sound is heard)
Querying Status shows that the SourceDataLine being used returns
isOpen() - true
isRunning() - false
isActive() - false
after Start is called the second time.