0 Replies Latest reply: Aug 17, 2011 4:36 PM by phelgren RSS

    UnsupportedAudioFileException when applet runs served by servlet

      I have spent the better part of two days sorting through this. I developed an applet, using several examples found here and elsewhere, that will play, pause and stop playing an MP3 file. It is very simple and purposely designed that way. I use Eclipse as my development environment and when I run the applet directly from the IDE it runs fine. When I jar the files, sign the jar and deploy the applet through a servlet I get the following:

      javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
           at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
           at org.myorg.applet.MP3JLayerApplet.playMP3(MP3JLayerApplet.java:158)
           at org.myorg.applet.MP3JLayerApplet$PlayerThread.run(MP3JLayerApplet.java:116)

      So I am assuming that there is something in the classpath missing that is causing the heartburn to the applet (running in FF5 in Windows 7). Where do I start unpacking the issue? I have the Java Control Panel Console in trace mode but it doesn't show which classes/jars are being accessed as the applet loads. Is there a way to see each class as it is loaded and where (like the -verbose switch) ?

      The segment of code that is running is as follows:

                     URL url = null;
                     if (classID!=null)
                               url = new URL(audioURL);          
                          catch (Exception ex)
                try {
                     AudioInputStream in = AudioSystem.getAudioInputStream(url);

      The audioURL is a string with the following value:


      If the URL is used directly in the browser, the mp3 is downloaded and would play in Media player with no problems.

      Again, if the applet is run directly in from Eclipse using the Run as --> Java Applet option, it works perfectly. If run from the servlet it fails.