- java.lang.Object
-
- java.util.EventObject
-
- javax.sound.sampled.LineEvent
-
- All Implemented Interfaces:
- Serializable
public class LineEvent extends EventObject
TheLineEvent
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 itsupdate
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 Class Summary
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.
-
Field Summary
-
Fields inherited from class java.util.EventObject
source
-
-
Constructor Summary
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.
-
Method Summary
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
-
-
-
-
Constructor Detail
-
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 eventtype
- the event type (OPEN
,CLOSE
,START
, orSTOP
)position
- the number of sample frames that the line had already processed when the event occurred, orAudioSystem.NOT_SPECIFIED
- Throws:
IllegalArgumentException
- ifline
isnull
.
-
-
Method Detail
-
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
, orLineEvent.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
andSTOP
. 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 beAudioSystem.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 classEventObject
- Returns:
- a string describing the event.
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/sound/sampled/lineevent.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.