1 36 37 40 41 import java.awt.Graphics ; 42 import java.applet.AudioClip ; 43 import java.net.URL ; 44 import java.net.MalformedURLException ; 45 import java.util.StringTokenizer ; 46 47 59 class DelayedSoundArea extends ImageMapArea { 60 61 URL sound; 62 AudioClip soundData; 63 boolean hasPlayed; 64 int delay; 65 int countDown; 66 67 71 public void handleArg(String arg) { 72 Thread soundLoader; 73 StringTokenizer st = new StringTokenizer (arg, ", "); 74 75 delay = Integer.parseInt(st.nextToken()); 76 try { 77 sound = new URL (parent.getDocumentBase(), st.nextToken()); 78 } catch (MalformedURLException e) { 79 sound = null; 80 } 81 } 82 83 public void getMedia() { 84 if (sound != null) { 85 soundData = parent.getAudioClip(sound); 86 } 87 if (soundData == null) { 88 System.out.println("DelayedSoundArea: Unable to load data "+sound); 89 } 90 } 91 92 96 public void enter() { 97 hasPlayed = false; 98 countDown = delay; 99 parent.startAnimation(); 100 } 101 102 107 public boolean animate() { 108 if (entered && ! hasPlayed) { 109 if (countDown > 0) { 110 countDown--; 111 return true; 112 } 113 hasPlayed = true; 114 if (soundData != null) { 115 soundData.play(); 116 } 117 } 118 return false; 119 } 120 } 121 122 | Popular Tags |