// soundctrl.java // extends the capabilities of soundext.java // with turning sound on and off import java.applet.*; import java.util.Vector; public class soundctrl extends Applet { Vector clip = new Vector(2,2); boolean turnedOn = false; public void on() { turnedOn = true; } public void off() { turnedOn = false; for (int i = 0; i < clip.size(); i++) { this.stop(i); } } public boolean isOn() { return turnedOn; } public void play(int i) { if (i >= 0 && i < clip.size() && clip.elementAt(i) != null && turnedOn) { ((AudioClip)(clip.elementAt(i))).play(); } } public void loop(int i) { if (i >= 0 && i < clip.size() && clip.elementAt(i) != null && turnedOn) { ((AudioClip)(clip.elementAt(i))).loop(); } } public void stop(int i) { if (i >= 0 && i < clip.size() && clip.elementAt(i) != null) { ((AudioClip)(clip.elementAt(i))).stop(); } } public void init() { // Load the sounds if (getParameter("sound").equalsIgnoreCase("on")) { turnedOn = true; } for (int i=0; (getParameter("sound"+i) != null); i++) { clip.addElement((Object)(getAudioClip(getDocumentBase(), getParameter("sound"+i)))); ((AudioClip)(clip.elementAt(i))).play(); ((AudioClip)(clip.elementAt(i))).stop(); } } }