Class LineEvent

java.lang.Object
java.util.EventObject
javax.sound.sampled.LineEvent
All Implemented Interfaces:
Serializable

public class LineEvent extends EventObject
The LineEvent class encapsulates information that a line sends its listeners whenever the line opens, closes, starts, or stops. Each of these four state changes is represented by a corresponding type of event. A listener receives the event as a parameter to its update method. By querying the event, the listener can learn the type of event, the line responsible for the event, and how much data the line had processed when the event occurred.

Although this class implements Serializable, attempts to serialize a LineEvent object will fail.

Since:
1.3
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    The LineEvent.Type inner class identifies what kind of event occurred on a line.
  • Field Summary

    Fields declared in class EventObject

    source
    Modifier and Type
    Field
    Description
    protected Object
    The object on which the Event initially occurred.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LineEvent(Line line, LineEvent.Type type, long position)
    Constructs a new event of the specified type, originating from the specified line.
  • Method Summary

    Modifier and Type
    Method
    Description
    final long
    Obtains the position in the line's audio data when the event occurred, expressed in sample frames.
    final Line
    Obtains the audio line that is the source of this event.
    Obtains the event's type.
    Returns a string representation of the event.

    Methods declared in class EventObject

    getSource
    Modifier and Type
    Method
    Description
    The object on which the Event initially occurred.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • LineEvent

      public LineEvent(Line line, LineEvent.Type type, long position)
      Constructs a new event of the specified type, originating from the specified line.
      Parameters:
      line - the source of this event
      type - the event type (OPEN, CLOSE, START, or STOP)
      position - the number of sample frames that the line had already processed when the event occurred, or AudioSystem.NOT_SPECIFIED
      Throws:
      IllegalArgumentException - if line is null
  • Method Details

    • getLine

      public final Line getLine()
      Obtains the audio line that is the source of this event.
      Returns:
      the line responsible for this event
    • getType

      public final LineEvent.Type getType()
      Obtains the event's type.
      Returns:
      this event's type (LineEvent.Type.OPEN, LineEvent.Type.CLOSE, LineEvent.Type.START, or LineEvent.Type.STOP)
    • getFramePosition

      public final long getFramePosition()
      Obtains the position in the line's audio data when the event occurred, expressed in sample frames. For example, if a source line had already played back 14 sample frames at the time it was paused, the pause event would report the line's position as 14. The next frame to be processed would be frame number 14 using zero-based numbering, or 15 using one-based numbering.

      Note that this field is relevant only to certain events generated by data lines, such as START and STOP. For events generated by lines that do not count sample frames, and for any other events for which this value is not known, the position value should be AudioSystem.NOT_SPECIFIED.

      Returns:
      the line's position as a sample frame number
    • toString

      public String toString()
      Returns a string representation of the event.
      Overrides:
      toString in class EventObject
      Returns:
      a string representation of the event