- java.lang.Object
-
- java.util.EventObject
-
- javax.sound.sampled.LineEvent
-
- All Implemented Interfaces:
-
Serializable
public class LineEvent extends EventObject
LineEvent
类封装了线路在打开,关闭,启动或停止时发送监听器的信息。 这四个状态变化中的每一个都由对应的事件类型表示。 监听器接收该事件作为其update
方法的参数。 通过查询事件,侦听器可以了解事件的类型,负责事件的行以及事件发生时线路处理的数据量。虽然这个类实现了Serializable,但尝试序列化一个
LineEvent
对象将失败。- 从以下版本开始:
- 1.3
- 另请参见:
-
Line
,LineListener.update(javax.sound.sampled.LineEvent)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
LineEvent.Type
LineEvent.Type内部类标识一行发生的事件。
-
Field Summary
-
Fields inherited from class java.util.EventObject
source
-
-
构造方法摘要
构造方法 Constructor 描述 LineEvent(Line line, LineEvent.Type type, long position)
构造指定类型的新事件,源自指定的行。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 long
getFramePosition()
当事件发生时,获取该行的音频数据中的位置,以采样帧表示。Line
getLine()
获取作为此事件的来源的音频线。LineEvent.Type
getType()
获取事件的类型。String
toString()
获取事件的字符串表示形式。-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
构造方法详细信息
-
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.要处理的下一帧将是使用基于零的编号的帧号14,或15使用一个编号。请注意,此字段仅与由数据行生成的某些事件相关,例如
START
和STOP
。 对于不计算采样帧的行生成的事件,以及对于此值不知道的任何其他事件,位置值应为AudioSystem.NOT_SPECIFIED
。- 结果
- 该行的位置作为示例帧号
-
toString
public String toString()
获取事件的字符串表示形式。 字符串的内容可能因Java Sound的实现而异。- 重写:
-
toString
在EventObject
- 结果
- 描述事件的字符串
-
-