home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / audio / NativeAudioStream.class (.txt) < prev   
Encoding:
Java Class File  |  1998-04-23  |  1.7 KB  |  56 lines

  1. package sun.audio;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.FilterInputStream;
  5. import java.io.IOException;
  6. import java.io.InputStream;
  7.  
  8. public class NativeAudioStream extends FilterInputStream {
  9.    private final int SUN_MAGIC = 779316836;
  10.    private final int DEC_MAGIC = 779314176;
  11.    private final int MINHDRSIZE = 24;
  12.    private final int TYPE_ULAW = 1;
  13.    private int length;
  14.  
  15.    public NativeAudioStream(InputStream var1) throws IOException {
  16.       super(var1);
  17.       DataInputStream var2 = new DataInputStream(var1);
  18.       int var3 = var2.readInt();
  19.       if (var3 != 779316836 && var3 != 779314176) {
  20.          System.out.println("NativeAudioStream: invalid file type.");
  21.          throw new InvalidAudioFormatException();
  22.       } else {
  23.          int var4 = var2.readInt();
  24.          if (var4 < 24) {
  25.             System.out.println("NativeAudioStream: wrong header size of " + var4 + ".");
  26.             throw new InvalidAudioFormatException();
  27.          } else {
  28.             this.length = var2.readInt();
  29.             int var5 = var2.readInt();
  30.             if (var5 != 1) {
  31.                System.out.println("NativeAudioStream: invalid audio encoding.");
  32.                throw new InvalidAudioFormatException();
  33.             } else {
  34.                int var6 = var2.readInt();
  35.                if (var6 / 1000 != 8) {
  36.                   System.out.println("NativeAudioStream: invalid sample rate of " + var6 + ".");
  37.                   throw new InvalidAudioFormatException();
  38.                } else {
  39.                   int var7 = var2.readInt();
  40.                   if (var7 != 1) {
  41.                      System.out.println("NativeAudioStream: wrong number of channels. (wanted 1, actual " + var7 + ")");
  42.                      throw new InvalidAudioFormatException();
  43.                   } else {
  44.                      var1.skip((long)(var4 - 24));
  45.                   }
  46.                }
  47.             }
  48.          }
  49.       }
  50.    }
  51.  
  52.    public int getLength() {
  53.       return this.length;
  54.    }
  55. }
  56.