|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface DataLine
DataLine 将与介质相关的功能添加到其超接口 。此功能包括一些传输控制方法,这些方法可以启动、停止、消耗和刷新通过数据行传入的音频数据。数据行还可以报告介质的当前位置、音量和音频格式。数据行通过使用子接口 Line 或 SourceDataLine 用于音频输出,这些子接口允许应用程序写入数据。类似地,音频输入由子接口 Clip 处理,该接口允许读取数据。
TargetDataLine
数据行有一个内部缓冲区,传入或传出数据在该缓冲区被加入队列。此内部缓冲区变空之前(通常因为已处理所有列队的数据), 方法发生阻塞。drain() 方法将放弃内部缓冲区中的所有可用的已列队数据。
flush()
只要数据行开始还是停止数据的活动现象或数据的捕获,就会产生 和 START 事件。这些事件可能在响应特定请求时生成,也可能是不太直接的状态更改的结果。例如,如果对非活动数据行调用 STOP,且数据可用于捕获或回放,则将在实际开始数据回放或捕获时生成 start()START 事件。或者,如果因为活动数据行的数据流受到限制而在数据呈现中发生间隙,则生成 STOP 事件。
混频器常常支持多条数据行的同步控制。可以通过混频器接口的 方法来建立同步。关于更完整的描述,请参见 synchronize 接口的描述。
Mixer
LineEvent| 嵌套类摘要 | |
|---|---|
static class |
DataLine.Info
除了继承自其超类的类信息之外, DataLine.Info 还提供特定于数据行的其他信息。 |
| 方法摘要 | |
|---|---|
int |
available()
获得当前可用于数据行内部缓冲区中处理的应用程序的数据字节数。 |
void |
drain()
通过在清空数据行的内部缓冲区之前继续数据 I/O,排空数据行中的列队数据。 |
void |
flush()
刷新数据行中已列队的数据。 |
int |
getBufferSize()
获得将适合数据行的内部缓冲区的最大数据字节数。 |
AudioFormat |
getFormat()
获得数据行的音频数据的当前格式(编码、样本频率、信道数,等等)。 |
int |
getFramePosition()
获得音频数据中的当前位置(以样本帧为单位)。 |
float |
getLevel()
获得行的当前音量级别。 |
long |
getLongFramePosition()
获得音频数据中的当前位置(以样本帧为单位)。 |
long |
getMicrosecondPosition()
获得音频数据中的当前位置(以微秒为单位)。 |
boolean |
isActive()
指示该行是否正在进行活动 I/O(如回放或捕获)。 |
boolean |
isRunning()
指示该行是否正在运行。 |
void |
start()
允许某一数据行执行数据 I/O。 |
void |
stop()
停止行。 |
| 从接口 javax.sound.sampled.Line 继承的方法 |
|---|
addLineListener, close, getControl, getControls, getLineInfo, isControlSupported, isOpen, open, removeLineListener |
| 方法详细信息 |
|---|
void drain()
drain(),则在该行正在运行和数据队列变空之前,此方法将发生阻塞。如果通过一个线程调用 drain(),另一个线程继续填充数据队列,则该操作没有完成。此方法总是在关闭数据行时返回。
flush()void flush()
void start()
START 事件。
stop(),
isRunning(),
LineEventvoid stop()
flush 方法丢弃保留的数据。当音频捕获或回放停止时,生成 STOP 事件。
start(),
isRunning(),
flush(),
LineEventboolean isRunning()
false。打开的行将在响应调用 start 方法而呈现第一个数据时开始运行,并可持续到响应调用 stop 或因为回放结束而表现为停止状态时为止。
boolean isActive()
START 事件。类似地,当活动行变得不活动时,它将发送 STOP 事件。
true;否则返回 falseLine.isOpen(),
Line.addLineListener(javax.sound.sampled.LineListener),
Line.removeLineListener(javax.sound.sampled.LineListener),
LineEvent,
LineListenerAudioFormat getFormat()
如果行未打开且从来没有打开过,则返回默认格式。默认格式是一个特定音频格式实现,如果 DataLine.Info 对象(用于检索此 DataLine)至少指定一个完全限定的音频格式,则将最后一个格式用作默认格式。打开具有特定音频格式(如 SourceDataLine.open(AudioFormat))的行将重写默认格式。
AudioFormatint getBufferSize()
int available()
注意,这里使用的单位是字节,但将始终对应于音频数据的样本帧数(整数)。
保证应用程序对从 available() 返回的字节数进行的读取或写入操作不受阻塞;不过,不保证试图读取或写入更多数据将发生阻塞。
int getFramePosition()
getLongFramePosition。
getLongFramePosition()long getLongFramePosition()
long getMicrosecondPosition()
float getLevel()
AudioSystem.NOT_SPECIFIED
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。