所有类
javax.sound.sampled
类 LineEvent
java.lang.Object
java.util.EventObject
javax.sound.sampled.LineEvent
-
所有已实现的接口:
-
Serializable
-
public class LineEvent
- extends EventObject
LineEvent
类封装某一行每次打开、关闭、启动或停止时向其侦听器发送的信息。这四种状态更改中的每一种更改都由相应的事件类型表示。侦听器将事件作为一个参数接收到其 update
方法中。通过查询事件,侦听器可以了解事件的类型、负责该事件的行,以及发生事件时行所处理的数据量。
尽管此类实现了 Serializable,但试图序列化 LineEvent
对象仍将失败。
-
从以下版本开始:
-
1.3
-
另请参见:
-
Line
, LineListener.update(javax.sound.sampled.LineEvent)
LineEvent
public LineEvent(Line line,
LineEvent.Type type,
long position)
-
构造源自指定行的指定类型的新事件。
-
参数:
-
line
- 此事件的源
-
type
- 事件类型(OPEN
、CLOSE
、START
或 STOP
)
-
position
- 事件发生时行已经处理的样本帧数,或 AudioSystem.NOT_SPECIFIED
-
抛出:
-
IllegalArgumentException
- 如果 line
为 null
。
getLine
public final Line getLine()
-
获得作为此事件的源的音频行。
-
-
返回:
-
负责此事件的行
getType
public final LineEvent.Type getType()
-
获得事件的类型。
-
-
返回:
-
此事件的类型(
LineEvent.Type.OPEN
、LineEvent.Type.CLOSE
、LineEvent.Type.START
或 LineEvent.Type.STOP
)
getFramePosition
public final long getFramePosition()
-
获得事件发生时行的音频数据的位置,用样本帧表示。例如,如果暂停时源行已经回放了 14 个样本帧,则暂停事件应将行的位置报告为 14。使用从 0 开始的计数时,要处理的下一帧应是帧号 14,使用从 1 开始计数时则应是 15。
注意,此字段只与数据行生成的某些事件相关,如 START
和 STOP
。对于不依赖样本帧的那些行生成的事件,以及不知道此值的任何其他事件而言,位置值应该是 AudioSystem.NOT_SPECIFIED
。
-
-
返回:
-
以样本帧数表示的行的位置
toString
public String toString()
-
获得事件的字符串表示形式。字符串的内容在 Java Sound 的实现之间可能是各不相同的。
-
-
覆盖:
-
类
EventObject
中的 toString
-
-
返回:
-
描述该事件的字符串。
所有类