home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / applet / AppletAudioClip.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.4 KB  |  102 lines

  1. package sun.applet;
  2.  
  3. import java.applet.AudioClip;
  4. import java.io.ByteArrayInputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7. import java.lang.reflect.Constructor;
  8. import java.net.URL;
  9. import java.net.URLConnection;
  10. import java.security.AccessController;
  11. import java.security.PrivilegedActionException;
  12.  
  13. public class AppletAudioClip implements AudioClip {
  14.    private static Constructor acConstructor = null;
  15.    private URL url = null;
  16.    private AudioClip audioClip = null;
  17.    boolean DEBUG = false;
  18.  
  19.    public AppletAudioClip(URL var1) {
  20.       this.url = var1;
  21.  
  22.       try {
  23.          InputStream var2 = var1.openStream();
  24.          this.createAppletAudioClip(var2);
  25.       } catch (IOException var3) {
  26.          if (this.DEBUG) {
  27.             System.err.println("IOException creating AppletAudioClip" + var3);
  28.          }
  29.       }
  30.  
  31.    }
  32.  
  33.    public AppletAudioClip(URLConnection var1) {
  34.       try {
  35.          this.createAppletAudioClip(var1.getInputStream());
  36.       } catch (IOException var3) {
  37.          if (this.DEBUG) {
  38.             System.err.println("IOException creating AppletAudioClip" + var3);
  39.          }
  40.       }
  41.  
  42.    }
  43.  
  44.    public AppletAudioClip(byte[] var1) {
  45.       try {
  46.          ByteArrayInputStream var2 = new ByteArrayInputStream(var1);
  47.          this.createAppletAudioClip(var2);
  48.       } catch (IOException var3) {
  49.          if (this.DEBUG) {
  50.             System.err.println("IOException creating AppletAudioClip " + var3);
  51.          }
  52.       }
  53.  
  54.    }
  55.  
  56.    void createAppletAudioClip(InputStream var1) throws IOException {
  57.       if (acConstructor == null) {
  58.          if (this.DEBUG) {
  59.             System.out.println("Initializing AudioClip constructor.");
  60.          }
  61.  
  62.          try {
  63.             acConstructor = (Constructor)AccessController.doPrivileged(new 1(this));
  64.          } catch (PrivilegedActionException var4) {
  65.             if (this.DEBUG) {
  66.                System.out.println("Got a PrivilegedActionException: " + var4.getException());
  67.             }
  68.  
  69.             throw new IOException("Failed to get AudioClip constructor: " + var4.getException());
  70.          }
  71.       }
  72.  
  73.       try {
  74.          Object[] var2 = new Object[]{var1};
  75.          this.audioClip = (AudioClip)acConstructor.newInstance(var2);
  76.       } catch (Exception var3) {
  77.          throw new IOException("Failed to construct the AudioClip: " + var3);
  78.       }
  79.    }
  80.  
  81.    public synchronized void play() {
  82.       if (this.audioClip != null) {
  83.          this.audioClip.play();
  84.       }
  85.  
  86.    }
  87.  
  88.    public synchronized void loop() {
  89.       if (this.audioClip != null) {
  90.          this.audioClip.loop();
  91.       }
  92.  
  93.    }
  94.  
  95.    public synchronized void stop() {
  96.       if (this.audioClip != null) {
  97.          this.audioClip.stop();
  98.       }
  99.  
  100.    }
  101. }
  102.