|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
javax.sound.sampled.AudioInputStream
public class AudioInputStream
This is an InputStream which is specialized for reading audio files. In particular it only allows operations to act on a multiple of the audio stream's frame size.
Field Summary | |
---|---|
protected AudioFormat |
format
The format of the audio stream. |
protected long |
frameLength
The length of the audio stream in frames. |
protected long |
framePos
The current frame position, starting from frame zero. |
protected int |
frameSize
The size of a frame in bytes. |
Constructor Summary | |
---|---|
AudioInputStream(InputStream is,
AudioFormat fmt,
long length)
Create a new AudioInputStream given an underlying InputStream, the audio format, and the length of the data in frames. |
|
AudioInputStream(TargetDataLine line)
Create a new AudioInputStream given a TargetDataLine. |
Method Summary | |
---|---|
int |
available()
Return the number of bytes available to be read from the underlying stream. |
void |
close()
Close the stream. |
AudioFormat |
getFormat()
Get the format associated with this stream. |
long |
getFrameLength()
Get the length of this stream in frames. |
void |
mark(int limit)
This method marks a position in the input to which the stream can be "reset" by calling the reset() method. |
boolean |
markSupported()
Return true if the underlying stream supports mark and reset, false otherwise. |
int |
read()
Read a single byte from the underlying stream. |
int |
read(byte[] buf)
This method reads bytes from a stream and stores them into a caller supplied buffer. |
int |
read(byte[] buf,
int offset,
int length)
This method read bytes from a stream and stores them into a caller supplied buffer. |
void |
reset()
This method resets a stream to the point where the mark() method was called. |
long |
skip(long n)
This method skips the specified number of bytes in the stream. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected AudioFormat format
protected long frameLength
protected long framePos
protected int frameSize
Constructor Detail |
---|
public AudioInputStream(InputStream is, AudioFormat fmt, long length)
is
- the underlying input streamfmt
- the format of the datalength
- the length of the data in framespublic AudioInputStream(TargetDataLine line)
line
- the TargetDataLineMethod Detail |
---|
public int available() throws IOException
available
in class InputStream
IOException
- If an error occurspublic void close() throws IOException
close
in interface Closeable
close
in class InputStream
IOException
- If an error occurs, which can only happen
in a subclasspublic AudioFormat getFormat()
public long getFrameLength()
public void mark(int limit)
InputStream
reset()
method. The
parameter @code{readlimit} is the number of bytes that can be read
from the stream after setting the mark before the mark becomes
invalid. For example, if mark()
is called with a
read limit of 10, then when 11 bytes of data are read from the
stream before the reset()
method is called, then the
mark is invalid and the stream object instance is not required to
remember the mark.
This method does nothing in this class, but subclasses may override it to provide mark/reset functionality.
mark
in class InputStream
limit
- The number of bytes that can be read before the
mark becomes invalidpublic boolean markSupported()
markSupported
in class InputStream
true
if mark/reset functionality is
supported, false
otherwisepublic int read() throws IOException
read
in class InputStream
IOException
- If an error occurspublic int read(byte[] buf) throws IOException
InputStream
This method will block until some data can be read.
This method operates by calling an overloaded read method like so:
read(b, 0, b.length)
read
in class InputStream
buf
- The buffer into which the bytes read will be stored.
IOException
- If an error occurs.public int read(byte[] buf, int offset, int length) throws IOException
InputStream
off
into the buffer and attempts to read
len
bytes. This method can return before reading the
number of bytes requested. The actual number of bytes read is
returned as an int. A -1 is returned to indicate the end of the
stream.
This method will block until some data can be read.
This method operates by calling the single byte read()
method
in a loop until the desired number of bytes are read. The read loop
stops short if the end of the stream is encountered or if an IOException
is encountered on any read operation except the first. If the first
attempt to read a bytes fails, the IOException is allowed to propagate
upward. And subsequent IOException is caught and treated identically
to an end of stream condition. Subclasses can (and should if possible)
override this method to provide a more efficient implementation.
read
in class InputStream
buf
- The array into which the bytes read should be storedoffset
- The offset into the array to start storing byteslength
- The requested number of bytes to read
IOException
- If an error occurs.public void reset() throws IOException
InputStream
mark()
method was called. Any bytes that were read
after the mark point was set will be re-read during subsequent
reads.
This method always throws an IOException in this class, but subclasses can override this method if they provide mark/reset functionality.
reset
in class InputStream
IOException
- Always thrown for this classpublic long skip(long n) throws IOException
InputStream
This method reads and discards bytes into a byte array until the specified number of bytes were skipped or until either the end of stream is reached or a read attempt returns a short count. Subclasses can override this metho to provide a more efficient implementation where one exists.
skip
in class InputStream
n
- The requested number of bytes to skip
IOException
- If an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |