/* */ package NET.worlds.scape; /* */ /* */ import NET.worlds.network.Cache; /* */ import NET.worlds.network.CacheFile; /* */ import NET.worlds.network.URL; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ class ASFThread /* */ extends Thread /* */ { /* */ private URL url; /* */ private ASFSoundPlayer player; /* */ private static ASFThread asfThread; /* */ private static boolean paused; /* */ /* */ ASFThread(URL url, ASFSoundPlayer player) /* */ { /* 142 */ this.url = url; /* 143 */ this.player = player; /* 144 */ setASF(this); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void run() /* */ { /* 157 */ CacheFile cf = Cache.getFile(this.url); /* 158 */ cf.waitUntilLoaded(); /* 159 */ if (cf.error()) { /* 160 */ this.player.running = 3; /* */ /* 162 */ releaseASF(this); /* 163 */ } else if (!paused) /* */ { /* 165 */ String localName = cf.getLocalName().replace('/', '\\'); /* 166 */ if (!ASFSoundPlayer.nativePlay(localName)) /* 167 */ this.player.running = 3; /* 168 */ releaseASF(this); /* */ } /* */ } /* */ /* */ static synchronized void pauseASF() { /* 173 */ if ((!paused) && (asfThread != null)) { /* 174 */ ASFThread t = asfThread; /* 175 */ stopASF(); /* */ /* 177 */ paused = true; /* 178 */ new ASFThread(t.url, t.player); /* */ } /* 180 */ paused = true; /* */ } /* */ /* */ static synchronized void resumeASF() { /* 184 */ if (paused) { /* 185 */ ASFThread t = asfThread; /* 186 */ paused = false; /* */ /* 188 */ if (t != null) /* 189 */ new ASFThread(t.url, t.player); /* */ } /* */ } /* */ /* */ static synchronized void releaseASF(ASFThread t) { /* 194 */ if (asfThread == t) /* 195 */ asfThread = null; /* */ } /* */ /* */ static synchronized void setASF(ASFThread t) { /* 199 */ if ((asfThread == null) || (!asfThread.url.equals(t.url))) /* */ { /* */ /* 202 */ asfThread = t; /* 203 */ asfThread.setDaemon(true); /* 204 */ asfThread.start(); /* */ } /* */ } /* */ /* */ static synchronized void stopASF() { /* 209 */ if (asfThread != null) { /* 210 */ asfThread = null; /* 211 */ if (!paused) /* 212 */ ASFSoundPlayer.nativePlay(""); /* */ } /* */ } /* */ /* */ static boolean isActive() { /* 217 */ return asfThread != null; /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\ASFThread.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */