FileDocCategorySizeDatePackage
SoundExample.javaAPI DocExample3640Tue Dec 12 18:57:30 GMT 2000None

SoundExample

public class SoundExample extends Applet

Fields Summary
SoundList
soundList
String
onceFile
String
loopFile
AudioClip
onceClip
AudioClip
loopClip
Button
playOnce
Button
startLoop
Button
stopLoop
Button
reload
boolean
looping
Constructors Summary
Methods Summary
public booleanaction(java.awt.Event event, java.lang.Object arg)

        //PLAY BUTTON
        if (event.target == playOnce) {
            if (onceClip == null) {
                //Try to get the AudioClip.
                onceClip = soundList.getClip(onceFile);
            }

            if (onceClip != null) {  //If the sound is loaded:
                onceClip.play();     //Play it once.
                showStatus("Playing sound " + onceFile + ".");
            } else {
                showStatus("Sound " + onceFile + " not loaded yet.");
            }
            return true;
        }

        //START LOOP BUTTON
        if (event.target == startLoop) {
            if (loopClip == null) {
                //Try to get the AudioClip.
                loopClip = soundList.getClip(loopFile);
            }

            if (loopClip != null) {  //If the sound is loaded:
                looping = true;
                loopClip.loop();     //Start the sound loop.
                stopLoop.enable();   //Enable stop button.
                startLoop.disable(); //Disable start button.
                showStatus("Playing sound " + loopFile + " continuously.");
            } else {
                showStatus("Sound " + loopFile + " not loaded yet.");
            }
            return true;
        }

        //STOP LOOP BUTTON
        if (event.target == stopLoop) {
            if (looping) {
                looping = false;
                loopClip.stop();    //Stop the sound loop.
                startLoop.enable(); //Enable start button.
                stopLoop.disable(); //Disable stop button.
            }
            showStatus("Stopped playing sound " + loopFile + ".");
            return true;
        }

        //RELOAD BUTTON
        if (event.target == reload) {
            if (looping) {          //Stop the sound loop.
                looping = false;
                loopClip.stop();
                startLoop.enable(); //Enable start button.
                stopLoop.disable(); //Disable stop button.
            }
            loopClip = null;        //Reset AudioClip to null.
            onceClip = null;        //Reset AudioClip to null.
            startLoadingSounds();
            showStatus("Reloading all sounds.");
            return true;
        }

        return false; //some event I don't know about...
    
public voidinit()


       
        playOnce = new Button("Bark!");
        add(playOnce);

        startLoop = new Button("Start sound loop");
        stopLoop = new Button("Stop sound loop");
        stopLoop.disable();
        add(startLoop);
        add(stopLoop);

        reload = new Button("Reload sounds");
        add(reload);

        validate();

        startLoadingSounds();
    
public voidstart()

        if (looping) {
            loopClip.loop();    //Restart the sound loop.
        }
    
voidstartLoadingSounds()

        //Start asynchronous sound loading.
        soundList = new SoundList(this, getCodeBase());
        soundList.startLoading(loopFile);
        soundList.startLoading(onceFile);
   
public voidstop()

        //If one-time sound were long, we'd stop it here, too.
        if (looping) {
            loopClip.stop();    //Stop the sound loop.
        }