Module java.desktop

Class LineEvent

java.lang.Object
java.util.EventObject
javax.sound.sampled.LineEvent
所有已实现的接口:
Serializable

public class LineEvent extends EventObject
LineEvent类封装了当线路打开、关闭、启动或停止时,线路向其监听器发送的信息。这四种状态变化分别由相应类型的事件表示。监听器将事件作为参数传递给其update方法。通过查询事件,监听器可以了解事件的类型、负责事件的线路以及事件发生时线路已处理的数据量。

尽管这个类实现了Serializable接口,但尝试序列化LineEvent对象将失败。

自从:
1.3
参见:
  • Constructor Details

    • LineEvent

      public LineEvent(Line line, LineEvent.Type type, long position)
      构造一个指定类型的新事件,源自指定的线路。
      参数:
      line - 此事件的源
      type - 事件类型(OPENCLOSESTARTSTOP
      position - 当事件发生时线路已处理的采样帧数,或AudioSystem.NOT_SPECIFIED
      抛出:
      IllegalArgumentException - 如果linenull
  • Method Details

    • getLine

      public final Line getLine()
      获取此事件的音频线路源。
      返回:
      负责此事件的线路
    • getType

      public final LineEvent.Type getType()
      获取事件的类型。
      返回:
      此事件的类型(LineEvent.Type.OPENLineEvent.Type.CLOSELineEvent.Type.STARTLineEvent.Type.STOP
    • getFramePosition

      public final long getFramePosition()
      获取事件发生时线路音频数据的位置,以采样帧表示。例如,如果源线路在暂停时已播放了14个采样帧,暂停事件将报告线路的位置为14。下一个要处理的帧将是基于零的编号的第14帧,或基于一的编号的第15帧。

      请注意,此字段仅与数据线生成的某些事件相关,例如STARTSTOP。对于不计算采样帧的线路生成的事件,以及对于任何其他未知此值的事件,位置值应为AudioSystem.NOT_SPECIFIED

      返回:
      作为采样帧编号的线路位置
    • toString

      public String toString()
      返回事件的字符串表示形式。
      覆盖:
      toString 在类 EventObject
      返回:
      事件的字符串表示形式