Class 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:
Line, LineListener.update(javax.sound.sampled.LineEvent)

Nested Classes

Modifier and Type Class and Description
static class  LineEvent.Type

The LineEvent.Type inner class identifies what kind of event occurred on a line.

Fields

Fields inherited from class java.util.EventObject

source

Constructors

Constructor and Description
LineEvent(Line line, LineEvent.Type type, long position)

Constructs a new event of the specified type, originating from the specified line.

Methods

Modifier and Type Method and Description
long getFramePosition()

Obtains the position in the line's audio data when the event occurred, expressed in sample frames.

Line getLine()

Obtains the audio line that is the source of this event.

LineEvent.Type getType()

Obtains the event's type.

String toString()

Obtains a string representation of the event.

Methods inherited from class java.util.EventObject

getSource

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructors

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.

Methods

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()

Obtains a string representation of the event. The contents of the string may vary between implementations of Java Sound.

Overrides:
toString in class EventObject
Returns:
a string describing the event.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/sound/sampled/LineEvent.html