
de.lessvoid.nifty.sound.openal.slick.AudioInputStream Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nifty-openal-soundsystem Show documentation
Show all versions of nifty-openal-soundsystem Show documentation
This is an OpenAL/lwjgl based SoundDevice for Nifty GUI. It was extracted out of Slick2D to be
independent of the whole Slick2D library and to be used with none Slick2D based renderes. All credits for the
original code go to Kevin Glass and all Slick2D contributers.
The newest version!
package de.lessvoid.nifty.sound.openal.slick;
import java.io.IOException;
/**
* The description of an input stream that supplied audio data suitable for
* use in OpenAL buffers
*
* @author kevin
*/
interface AudioInputStream {
/**
* Get the number of channels used by the audio
*
* @return The number of channels used by the audio
*/
public int getChannels();
/**
* The play back rate described in the underling audio file
*
* @return The playback rate
*/
public int getRate();
/**
* Read a single byte from the stream
*
* @return The single byte read
* @throws IOException Indicates a failure to read the underlying media
* @see java.io.InputStream#read()
*/
public int read() throws IOException;
/**
* Read up to data.length bytes from the stream
*
* @param data The array to read into
* @return The number of bytes read or -1 to indicate no more bytes are available
* @throws IOException Indicates a failure to read the underlying media
* @see java.io.InputStream#read(byte[])
*/
public int read(byte[] data) throws IOException;
/**
* Read up to len bytes from the stream
*
* @param data The array to read into
* @param ofs The offset into the array at which to start writing
* @param len The maximum number of bytes to read
* @return The number of bytes read or -1 to indicate no more bytes are available
* @throws IOException Indicates a failure to read the underlying media
* @see java.io.InputStream#read(byte[], int, int)
*/
public int read(byte[] data, int ofs, int len) throws IOException;
/**
* Check if the stream is at the end, i.e. end of file or URL
*
* @return True if the stream has no more data available
*/
public boolean atEnd();
/**
* Close the stream
*
* @throws IOException Indicates a failure to access the resource
* @see java.io.InputStream#close()
*/
public void close() throws IOException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy