The error I get is... "Exception in thread "Thread-13" java.security.AccessControlException: access denied (javax.sound.sampled.AudioPermission record)"
I came across an old forum thread [[http://forums.sun.com/thread.jspa?forumID=63&threadID=443024]] that suggested wrapping the code in my exposed functions in a thread. I tried this, and I still got the same error message.
The link you provided correctly describes why this happens and a workaround, which should work.
But it's a tricky way to solve the problem.
Search the forums for AccessController.doPrivileged(), which is the 'official' way.
Reading that post, I understood why the issue happened as described, I just didn't know what I was missing to get it to work correctly. I guess I was just missing some uses of AccessController.doPrivileged() in my implementation. I'll give that a try and see how it works.