code: public Audio getAIF(String ref, InputStream in) throws IOException {
  		in = new BufferedInputStream(in);
  
  		if (!soundWorks) {
  			return new NullAudio();
  		}
  		if (!inited) {
  			throw new RuntimeException("Can't load sounds until SoundStore is init(). Use the container init() method.");
  		}
  		if (deferred) {
  			return new DeferredSound(ref, in, DeferredSound.AIF);
  		}
  		
  		int buffer = -1;
  		
  		if (loaded.get(ref) != null) {
  			buffer = ((Integer) loaded.get(ref)).intValue();
  		} else {
  			try {
  				IntBuffer buf = BufferUtils.createIntBuffer(1);
  				
  				AiffData data = AiffData.create(in);
  				AL10.alGenBuffers(buf);
  				AL10.alBufferData(buf.get(0), data.format, data.data, data.samplerate);
  				
  				loaded.put(ref,new Integer(buf.get(0)));
  				buffer = buf.get(0);
  			} catch (Exception e) {
  				Log.error(e);
  				IOException x = new IOException("Failed to load: "+ref);
  				x.initCause(e);
  				
  				throw x;
  			}
  		}
  		
  		if (buffer == -1) {
  			throw new IOException("Unable to load: "+ref);
  		}
  		
  		return new AudioImpl(this, buffer);
  	}
docs: Get the Sound based on a specified AIF file
  
  @param ref The reference to the AIF file in the classpath
  @param in The stream to the AIF to load
  @return The Sound read from the AIF file
  @throws IOException Indicates a failure to load the AIF