Using sounds in applets
Created Nov 11, 2011
Sound files make a game much more exiting and they are really easy to "add" to a applet! It will take you just a few lines of code. In this chapter I want to show you, with the help of the "ball bounce" applet (chapter 1 c), how to add sounds in *.au Format; Java is not able to handle *.wav - files! You should hear this sound every time the ball is bouncing from one of the walls.
At first we need an object reference to an AudioClip object, thats why we declare an instance variable AudioClip called bounce.
-
// Instance variable AudioClip bounce
AudioClip bounce;
For some reason I don't know, I get a strange error message in InternetExplorer 5 if this variable is public or private. Thats why I declare it protected here.
Now we have to load the sound file to our applet (you have to import java.applet.* and java.net.* to do this!). Write the folliwing lines into the init() - method of your applet:
-
// Load an audio file which is in the same directory as the class files of the applet
bounce = getAudioClip (getCodeBase(), "bounce.au");
You can play this file by writing bounce.play() wherever you need to play it in this applet.
If the sound file is placed in another directory, (for example audio), than the class files, you can load it by writing bounce = getAudioClip (getCodeBase(), "audio/bounce.au"); laden. Unfortunatly you can't use *.wav - files which are much more common. But you can turn *.wav files into *.au files using a wave editor (for example the shareware program GoldWave). Additionally these files have to be 8 Bit, 8000 khz, Mono files. All this is a little bit complicated, but you can find many Java games in the internet and use their sound files at first.
Sourcecode download
Take a look at the applet
Next chapter