|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface Line
Line 接口表示单声道或多声道音频供给。line 是数字音频“管线”(如混频器、输入或输出端口,或往返于混频器的数据路径)的元素。
line 可以有各种控件,如 gain、pan 和 reverb。这些控件本身是扩展基本 类的那些类的实例。ControlLine 接口提供两个获得 line 控件的存取方法: 返回整个集合,getControls 返回指定类型的单个控件。
getControl
行在不同的时间以各种状态存在。当行打开时,它保留本身的系统资源;关闭时,这些资源就会为其他对象或应用程序释放。 方法让您发现行是打开的还是关闭的。但是打开的行不需要处理数据。此类处理通常由 isOpen() 和 SourceDataLine.write 之类的子接口方法初始化。
TargetDataLine.read
可以注册一个对象,以便每当行状态更改时接收通知。该对象必须实现 接口,此接口由单个方法 LineListener 组成。此方法将在行打开和关闭时调用(如果该行在开始和停止时是一个 updateDataLine)。
可以注册一个对象来侦听多个行。用其 update 方法接收的事件将指定创建该事件的行、事件的类型(OPEN、CLOSE、START 或 STOP),以及发生事件时该行处理的样本帧的数量。
如果行是共享的音频资源时由未授权的代码调用,则某些行操作(如 open 和 close)可以生成安全性异常。
LineEvent| 嵌套类摘要 | |
|---|---|
static class |
Line.Info
Line.Info 对象包含关于行的信息。 |
| 方法摘要 | |
|---|---|
void |
addLineListener(LineListener listener)
将侦听器添加到此行。 |
void |
close()
关闭行,指示可以释放的该行使用的所有系统资源。 |
Control |
getControl(Control.Type control)
获得指定类型的控件,如果有的话。 |
Control[] |
getControls()
获得与此行相关的控件集合。 |
Line.Info |
getLineInfo()
获得描述此行的 Line.Info 对象。 |
boolean |
isControlSupported(Control.Type control)
指示该行是否支持特定类型的控件。 |
boolean |
isOpen()
指示行是否已打开,行已打开则意味着它已保留系统资源并是可操作的,尽管它当前可能没有播放或捕获声音。 |
void |
open()
打开行,指示它应该获得所有所需系统资源并变得可操作。 |
void |
removeLineListener(LineListener listener)
从此行的侦听器列表中移除指定侦听器。 |
| 方法详细信息 |
|---|
Line.Info getLineInfo()
Line.Info 对象。
void open()
throws LineUnavailableException
OPEN 事件。
注意,有些行一旦关闭就无法重新打开。试图重新打开这样的行总是导致 LineUnavailableException。
某些类型的行具有可能影响资源分配的可配置属性。例如,必须使用特定格式和缓冲区大小打开 DataLine。此类行应该提供配置这些属性的机制,如允许应用程序指定所需设置的其他一个或多个 open 方法。
此方法不使用任何参数,并使用当前设置打开行。对于 和 SourceDataLine 对象,这意味着使用默认设置打开该行。但对于 TargetDataLine,缓冲区大小是在加载数据时确定的。由于此方法不允许应用程序指定任何要加载的数据,因此会抛出 IllegalArgumentException。所以用户应该改用 ClipClip 接口中提供的某一 open 方法将数据加载到 Clip 中。
对于 DataLine,如果用于检索行的 DataLine.Info 对象至少指定一个完全限定的音频格式,则将使用最后一个格式作为默认格式。
IllegalArgumentException - 如果在 Clip 接口上调用此方法。
LineUnavailableException - 如果由于资源限制无法打开该行。
SecurityException - 如果由于安全限制无法打开该行。close(),
isOpen(),
LineEvent,
DataLine,
Clip.open(AudioFormat, byte[], int, int),
Clip.open(AudioInputStream)void close()
CLOSE 事件。
SecurityException - 如果由于安全限制无法关闭该行。open(),
isOpen(),
LineEventboolean isOpen()
true;否则返回 false。open(),
close()Control[] getControls()
getControl(javax.sound.sampled.Control.Type)boolean isControlSupported(Control.Type control)
control - 查询其是否受支持的控件类型
true;否则返回 false。Control getControl(Control.Type control)
control - 所请求的控件类型
IllegalArgumentException - 如果指定类型的控件不受支持getControls(),
isControlSupported(Control.Type control)void addLineListener(LineListener listener)
LineEvent 对象调用侦听器的 update() 方法。
listener - 将作为侦听器添加到此行的对象removeLineListener(javax.sound.sampled.LineListener),
LineListener.update(javax.sound.sampled.LineEvent),
LineEventvoid removeLineListener(LineListener listener)
listener - 要移除的侦听器addLineListener(javax.sound.sampled.LineListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。