|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.io.InputStream javax.sound.sampled.AudioInputStream
public class AudioInputStream
音频输入流是具有指定音频格式和长度的输入流。长度用示例帧表示,不用字节表示。提供几种方法,用于从流读取一定数量的字节,或未指定数量的字节。音频输入流跟踪所读取的最后一个字节。可以跳过任意数量的字节以到达稍后的读取位置。音频输入流可支持标记。设置标记时,会记住当前位置,以便可以稍后返回到该位置。
AudioSystem
类包括许多操作 AudioInputStream
对象的方法。例如,这些方法可以让您:
AudioSystem
,
Clip.open(AudioInputStream)
字段摘要 | |
---|---|
protected AudioFormat |
format
流中包含的音频数据的格式。 |
protected long |
frameLength
此流的长度,以示例帧为单位。 |
protected long |
framePos
此流中的当前位置,以示例帧为单位(从零开始)。 |
protected int |
frameSize
每帧的大小,以字节为单位。 |
构造方法摘要 | |
---|---|
AudioInputStream(InputStream stream,
AudioFormat format,
long length)
使用指定输入流中的音频数据构造具有请求的格式和长度(以示例帧为单位)的音频输入流。 |
|
AudioInputStream(TargetDataLine line)
构造从指示的目标数据行读取数据的音频输入流。 |
方法摘要 | |
---|---|
int |
available()
返回可不受阻塞地从此音频输入流中读取(或跳过)的最大字节数。 |
void |
close()
关闭此音频输入流并释放与该流关联的所有系统资源。 |
AudioFormat |
getFormat()
获得此音频输入流中声音数据的音频格式。 |
long |
getFrameLength()
获得流的长度,以示例帧表示,而不是以字节表示。 |
void |
mark(int readlimit)
标记此音频输入流中的当前位置。 |
boolean |
markSupported()
测试此音频输入流是否支持 mark 和 reset 方法。 |
int |
read()
从音频输入流读取数据下一个字节。 |
int |
read(byte[] b)
从音频输入流读取一定数量的字节,并将其存储在缓冲区数组 b 中。 |
int |
read(byte[] b,
int off,
int len)
从音频流读取指定的最大数量的数据字节,并将其放入给定的字节数组中。 |
void |
reset()
将此音频输入流重新定位到上一次调用其 mark 方法时的位置。 |
long |
skip(long n)
跳过并丢弃此音频输入流中指定数量的字节。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected AudioFormat format
protected long frameLength
protected int frameSize
protected long framePos
构造方法详细信息 |
---|
public AudioInputStream(InputStream stream, AudioFormat format, long length)
stream
- 流,AudioInputStream
对象以该为基础format
- 此流的音频数据格式length
- 在此流中的数据长度(以示例帧为单位)public AudioInputStream(TargetDataLine line)
line
- 此流从中获得数据的目标数据行。AudioSystem.NOT_SPECIFIED
方法详细信息 |
---|
public AudioFormat getFormat()
public long getFrameLength()
public int read() throws IOException
IOException
。
InputStream
中的 read
IOException
- 如果发生输入或输出错误read(byte[], int, int)
,
read(byte[])
,
public int read(byte[] b) throws IOException
b
中。以整数形式返回实际读取的字节数。在输入数据可用、检测到流末尾或抛出异常之前,此方法将一直阻塞。
此方法将总是读取整数帧。如果数组的长度不是整数帧,则读取最大数量的 b.length - (b.length % frameSize)
字节。
InputStream
中的 read
b
- 将数据读入的缓冲区
IOException
- 如果发生输入或输出错误read(byte[], int, int)
,
read()
,
available()
public int read(byte[] b, int off, int len) throws IOException
此方法将总是读取整数帧。如果 len
未指定整数帧,则读取最大数量的 len - (len % frameSize)
字节。
InputStream
中的 read
b
- 将数据读入的缓冲区off
- 从数组 b
的开头开始的偏移量,将从此处写入数据len
- 要读取的最大数量的字节
IOException
- 如果发生输入或输出错误read(byte[])
,
read()
,
skip(long)
,
available()
public long skip(long n) throws IOException
InputStream
中的 skip
n
- 要跳过的请求数量的字节
IOException
- 如果发生输入或输出错误read()
,
available()
public int available() throws IOException
read
或 skip
方法的下一个调用;每次调用这些方法时该限制都可以有所不同。如果关闭此流,则可能抛出 IOException,这一点取决于基础流。
InputStream
中的 available
IOException
- 如果发生输入或输出错误read(byte[], int, int)
,
read(byte[])
,
read()
,
skip(long)
public void close() throws IOException
Closeable
中的 close
InputStream
中的 close
IOException
- 如果发生输入或输出错误public void mark(int readlimit)
InputStream
中的 mark
readlimit
- 在标记位置变得无效之前可以读取的最大字节数。reset()
,
markSupported()
public void reset() throws IOException
mark
方法时的位置。
InputStream
中的 reset
IOException
- 如果发生输入或输出错误。mark(int)
,
markSupported()
public boolean markSupported()
mark
和 reset
方法。
InputStream
中的 markSupported
mark
和 reset
方法,则返回 true
;否则返回 false
mark(int)
,
reset()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。