Methods Summary |
---|
public void | enter()The enter method is called when the mouse enters the area.
The sound is played if the mouse has been outside of the
area for more then the delay indicated by HYSTERESIS.
// is the sound sample loaded?
if (! isReady) {
parent.showStatus("Loading media file...");
return;
}
/*
* So we entered the selection region, play the sound if
* we need to. Track the mouse entering and exiting the
* the selection box. If it doesn't stay out for more than
* "HYSTERESIS" millis, then don't re-play the sound.
*/
long now = System.currentTimeMillis();
if (Math.abs(now - lastExit) < HYSTERESIS) {
// if within the window pretend that it was played.
hasPlayed = true;
return;
}
// Else play the sound.
if (! hasPlayed && (soundData != null)) {
hasPlayed = true;
soundData.play();
}
|
public void | exit()The exit method is called when the mouse leaves the area.
if (hasPlayed) {
hasPlayed = false;
lastExit = System.currentTimeMillis(); // note the time of exit
}
|
public void | getMedia()The applet thread calls the getMedia() method when the applet
is started.
if (sound != null && soundData == null) {
soundData = parent.getAudioClip(sound);
}
if (soundData == null) {
System.out.println("SoundArea: Unable to load data "+sound);
}
isReady = true;
|
public void | handleArg(java.lang.String arg)The argument is the URL of the sound to be played.
try {
sound = new URL(parent.getDocumentBase(), arg);
} catch (MalformedURLException e) {
sound = null;
}
hasPlayed = false;
|