Glad you found that information useful
So, I messed with this for a bit, and I found a couple problems. Nothing huge, just a few minor things I found a bit unappealing:
When the clip plays, apparently it plays on a background thread. This thread is not daemon, so unless we keep our calling thread alive, the music won't play. Although threads handling sound tend to be non-daemon, since sound isn't usually the main aspect of the application, this could definitely confuse people who aren't familiar with the API (it got me, that's forsure). You should at least mention this so people who reference this in the future don't need to ask. Since we can't make the thread non-daemon (without cheap tricks), I think allowing the client to optionally block the calling thread until the song has finished would be nice, but that's no big deal really.
The second problem is when you play a clip one right after the other. The second and third time, it seems to cut off a bit in the beginning. A simple delay between stopping and starting the song (in the play method) fixed this for me. 200ms seemed reasonable, although I really wish Java's Sound API didn't require me to do all this /:
Other than that, this was a really nice quick introduction into the Java Sound API for me. Thanks for sharing!