|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
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()
stop(),
drain()void start()
START 事件。
stop(),
isRunning(),
LineEventvoid stop()
flush 方法丢弃保留的数据。当音频捕获或回放停止时,生成 STOP 事件。
start(),
isRunning(),
flush(),
LineEventboolean isRunning()
false。打开的行将在响应调用 start 方法而呈现第一个数据时开始运行,并可持续到响应调用 stop 或因为回放结束而表现为停止状态时为止。
true;否则返回 falsestart(),
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 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。