home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2003 January / maximum-cd-2003-01.iso / Software / Utilities / JPerk / jperk.exe / _SETUP.1 / SimpleSound1.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-09-05  |  2.6 KB  |  108 lines

  1. import java.applet.Applet;
  2. import java.applet.AudioClip;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.net.URL;
  6. import java.util.StringTokenizer;
  7.  
  8. public class SimpleSound1 extends Applet implements Runnable {
  9.    AudioClip entersound;
  10.    AudioClip exitsound;
  11.    Color bgcolor;
  12.    Thread woohoo;
  13.  
  14.    public void start() {
  15.       if (this.woohoo == null) {
  16.          this.woohoo = new Thread(this);
  17.          this.woohoo.start();
  18.       }
  19.  
  20.    }
  21.  
  22.    public void stop() {
  23.       if (this.entersound != null) {
  24.          this.entersound.stop();
  25.       }
  26.  
  27.       if (this.exitsound != null) {
  28.          this.exitsound.play();
  29.       }
  30.  
  31.       this.woohoo.stop();
  32.       this.woohoo = null;
  33.    }
  34.  
  35.    public void destroy() {
  36.       if (this.exitsound != null) {
  37.          this.exitsound.stop();
  38.       }
  39.  
  40.    }
  41.  
  42.    public void run() {
  43.       boolean var1 = false;
  44.       String var2 = "";
  45.       var2 = ((Applet)this).getParameter("COPYRIGHT");
  46.       if (var2 == null || !var2.equals("SimpleSound applet, Copyright 1996 Sun Microsystems, Inc., all rights reserved.")) {
  47.          ((Applet)this).showStatus("COPYRIGHT and DOCUMENTATION parameters needed!");
  48.          this.stop();
  49.       }
  50.  
  51.       var2 = ((Applet)this).getParameter("DOCUMENTATION");
  52.       if (var2 == null || !var2.equals("Documentation found at: http://www.xm.com/cafe/")) {
  53.          ((Applet)this).showStatus("COPYRIGHT and DOCUMENTATION parameters needed!");
  54.          this.stop();
  55.       }
  56.  
  57.       var2 = ((Applet)this).getParameter("BGCOLOR");
  58.       if (var2 != null) {
  59.          StringTokenizer var3 = new StringTokenizer(var2, ",");
  60.          int var4 = Integer.parseInt(var3.nextToken());
  61.          int var5 = Integer.parseInt(var3.nextToken());
  62.          int var6 = Integer.parseInt(var3.nextToken());
  63.          this.bgcolor = new Color(var4, var5, var6);
  64.       } else {
  65.          this.bgcolor = Color.lightGray;
  66.       }
  67.  
  68.       ((Component)this).setBackground(this.bgcolor);
  69.       var2 = ((Applet)this).getParameter("ENTERSOUND");
  70.       if (var2 != null) {
  71.          this.entersound = this.getRandomSound(var2);
  72.       }
  73.  
  74.       var2 = ((Applet)this).getParameter("ENTERLOOP");
  75.       var1 = var2 != null && !var2.equals("no") && !var2.equals("off") && !var2.equals("false");
  76.       var2 = ((Applet)this).getParameter("EXITSOUND");
  77.       if (var2 != null) {
  78.          this.exitsound = this.getRandomSound(var2);
  79.       }
  80.  
  81.       if (this.entersound != null) {
  82.          if (var1) {
  83.             this.entersound.loop();
  84.             return;
  85.          }
  86.  
  87.          this.entersound.play();
  88.       }
  89.  
  90.    }
  91.  
  92.    private AudioClip getRandomSound(String var1) {
  93.       StringTokenizer var2 = new StringTokenizer(var1, "|");
  94.       int var3 = var2.countTokens();
  95.       int var4 = (int)(Math.random() * (double)var3);
  96.  
  97.       for(int var5 = 0; var5 < var4 - 1; ++var5) {
  98.          var2.nextToken();
  99.       }
  100.  
  101.       try {
  102.          return ((Applet)this).getAudioClip(new URL(((Applet)this).getDocumentBase(), var2.nextToken()));
  103.       } catch (Exception var6) {
  104.          return null;
  105.       }
  106.    }
  107. }
  108.