public interface Line extends AutoCloseable
Line接口代表一个单声道或多声道音频饲料。线是数字音频“管道”的一个元素,如一个混频器,一个输入或输出端口,或一个数据路径进入或退出一个混频器。
一条线可以控制,如增益、锅、和混响。控制自己的类,扩展基本的类的实例。的ControlLine接口提供了获得线的控制两个访问器方法:返回整个集合,和getControls返回一个指定类型的控制。getControl
线条在不同的时代存在于不同的时代。当一个行打开时,它为自己保留系统资源,当它关闭时,这些资源将被释放给其他对象或应用程序。的方法让你发现线路是否打开或关闭。一个开放的行不需要处理数据,但是。这样的处理通常是通过接口方法如isOpen()和SourceDataLine.write发起。TargetDataLine.read
当行的状态更改时,您可以注册一个接收通知的对象。对象必须实现接口,由单一方法LineListener。该方法将被调用时,一个线打开和关闭(和,如果它是一个updateDataLine,何时开始和停止)。
可以注册一个对象来听多行。它接收的update方法的事件将指定线创造的事件,什么样的事件是(OPEN,CLOSE,START,或STOP),多少样本框线曾在事件发生时的处理。
一定行的操作,如打开和关闭,可以生成安全例外如果调用特权码线的时候是一个共享的音频资源。
LineEvent
| Modifier and Type | Interface and Description |
|---|---|
static class |
Line.Info
一个
Line.Info对象包含一行信息。
|
| Modifier and Type | Method and Description |
|---|---|
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提供的接口将数据加载到Clip的open方法。
对于DataLine的,如果DataLine.Info对象用于检索行,指定至少一个完全合格的音频格式,最后一个将被用作默认的格式。
IllegalArgumentException -如果这种方法被称为一个实例。
LineUnavailableException -如果线路不因资源限制打开。
SecurityException -如果线路不能由于安全限制打开。
close(),
isOpen(),
LineEvent,
DataLine,
Clip.open(AudioFormat, byte[], int, int),
Clip.open(AudioInputStream)
void close()
CLOSE事件被派遣到线的听众。
close 接口
AutoCloseable
SecurityException -如果线路不能由于安全限制而关闭。
open(),
isOpen(),
LineEvent
boolean isOpen()
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)
update()方法称为一个
LineEvent对象描述的变化。
listener -添加一个侦听器的对象这一行
removeLineListener(javax.sound.sampled.LineListener),
LineListener.update(javax.sound.sampled.LineEvent),
LineEvent
void removeLineListener(LineListener listener)
listener侦听器去除
addLineListener(javax.sound.sampled.LineListener)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.