模块 java.desktop

类 LineEvent

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

public class LineEvent extends EventObject
LineEvent 类封装了一条线路在线路打开、关闭、启动或停止时向其监听器发送的信息。这四种状态变化中的每一种都由相应类型的事件表示。监听器接收事件作为其 update 方法的参数。通过查询事件,监听器可以了解事件的类型、负责事件的线路以及事件发生时线路处理了多少数据。

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

自从:
1.3
参见:
  • 构造方法详细信息

    • LineEvent

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

    • 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 使用从一开始的编号。

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

      返回:
      该行的位置作为样本帧编号
    • toString

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