Basically javax.sound caches the providers list for a minute, and I did what was suggested in the thread to set the caching period to 1 second. Unfortunately, this did not work for me (I'm running on Mac OSX). I can see that the providers list are new objects but it still doesn't detect the new plugged in device. However, it does work on the PC. So my question is, does anyone have any suggestions on how to getting this working on all platforms?