- java.lang.Object
-
- javafx.scene.media.MediaPlayer
-
public final class MediaPlayer extends Object
TheMediaPlayer
class provides the controls for playing media. It is used in combination with theMedia
andMediaView
classes to display and control media playback.MediaPlayer
does not contain any visual elements so must be used with theMediaView
class to view any video track which may be present.MediaPlayer
provides thepause()
,play()
,stop()
andseek()
controls as well as therate
andautoPlay
properties which apply to all types of media. It also provides thebalance
,mute
, andvolume
properties which control audio playback characteristics. Further control over audio quality may be attained via theAudioEqualizer
associated with the player. Frequency descriptors of audio playback may be observed by registering anAudioSpectrumListener
. Information about playback position, rate, and buffering may be obtained from thecurrentTime
,currentRate
, andbufferProgressTime
properties, respectively. Media marker notifications are received by an event handler registered as theonMarker
property.For finite duration media, playback may be positioned at any point in time between
0.0
and the duration of the media.MediaPlayer
refines this definition by adding thestartTime
andstopTime
properties which in effect define a virtual media source with time position constrained to[startTime,stopTime]
. Media playback commences atstartTime
and continues tostopTime
. The interval defined by these two endpoints is termed a cycle with duration being the difference of the stop and start times. This cycle may be set to repeat a specific or indefinite number of times. The total duration of media playback is then the product of the cycle duration and the number of times the cycle is played. If the stop time of the cycle is reached and the cycle is to be played again, the event handler registered with theonRepeat
property is invoked. If the stop time is reached and the cycle is not to be repeated, then the event handler registered with theonEndOfMedia
property is invoked. A zero-relative index of which cycle is presently being played is maintained bycurrentCount
.The operation of a
MediaPlayer
is inherently asynchronous. A player is not prepared to respond to commands quasi-immediately until its status has transitioned toMediaPlayer.Status.READY
, which in effect generally occurs when media pre-roll completes. Some requests made of a player prior to its status beingREADY
will however take effect when that status is entered. These include invokingplay()
without an intervening invocation ofpause()
orstop()
before theREADY
transition, as well as setting any of theautoPlay
,balance
,mute
,rate
,startTime
,stopTime
, andvolume
properties.The
status
property may be monitored to make the application aware of player status changes, and callback functions may be registered via properties such asonReady
if an action should be taken when a particular status is entered. There are alsoerror
andonError
properties which respectively enable monitoring when an error occurs and taking a specified action in response thereto.The same
MediaPlayer
object may be shared among multipleMediaView
s. This will not affect the player itself. In particular, the property settings of the view will not have any effect on media playback.
-
-
Property Summary
Properties Type Property Description DoubleProperty
audioSpectrumInterval
The interval between spectrum updates in seconds.ObjectProperty<AudioSpectrumListener>
audioSpectrumListener
A listener for audio spectrum updates.IntegerProperty
audioSpectrumNumBands
The number of bands in the audio spectrum.IntegerProperty
audioSpectrumThreshold
The sensitivity threshold in decibels; must be non-positive.BooleanProperty
autoPlay
Whether playing should start as soon as possible.DoubleProperty
balance
The balance, or left-right setting, of the audio output.ReadOnlyObjectProperty<Duration>
bufferProgressTime
The current buffer position indicating how much media can be played without stalling theMediaPlayer
.ReadOnlyIntegerProperty
currentCount
The number of completed playback cycles.ReadOnlyDoubleProperty
currentRate
The current rate of playback regardless of settings.ReadOnlyObjectProperty<Duration>
currentTime
The current media playback time.IntegerProperty
cycleCount
The number of times the media will be played.ReadOnlyObjectProperty<Duration>
cycleDuration
ReadOnlyObjectProperty<MediaException>
error
Observable property set to aMediaException
if an error occurs.BooleanProperty
mute
Whether the player audio is muted.ObjectProperty<Runnable>
onEndOfMedia
Event handler invoked when the playercurrentTime
reachesstopTime
.ObjectProperty<Runnable>
onError
Event handler invoked when an error occurs.ObjectProperty<Runnable>
onHalted
Event handler invoked when the status changes toHALTED
.ObjectProperty<EventHandler<MediaMarkerEvent>>
onMarker
Event handler invoked when the playercurrentTime
reaches a media marker.ObjectProperty<Runnable>
onPaused
Event handler invoked when the status changes toPAUSED
.ObjectProperty<Runnable>
onPlaying
Event handler invoked when the status changes toPLAYING
.ObjectProperty<Runnable>
onReady
Event handler invoked when the status changes toREADY
.ObjectProperty<Runnable>
onRepeat
Event handler invoked when the playercurrentTime
reachesstopTime
and will be repeating.ObjectProperty<Runnable>
onStalled
Event handler invoked when the status changes toSTALLED
.ObjectProperty<Runnable>
onStopped
Event handler invoked when the status changes toSTOPPED
.DoubleProperty
rate
The rate at which the media should be played.ObjectProperty<Duration>
startTime
The time offset where media should start playing, or restart from when repeating.ReadOnlyObjectProperty<MediaPlayer.Status>
status
The current state of the MediaPlayer.ObjectProperty<Duration>
stopTime
The time offset where media should stop playing or restart when repeating.ReadOnlyObjectProperty<Duration>
totalDuration
The total amount of play time if allowed to play until finished.DoubleProperty
volume
The volume at which the media should be played.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MediaPlayer.Status
Enumeration describing the different status values of aMediaPlayer
.
-
Field Summary
Fields Modifier and Type Field Description static int
INDEFINITE
A value representing an effectively infinite number of playback cycles.
-
Constructor Summary
Constructors Constructor Description MediaPlayer(Media media)
Create a player for a specific media.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DoubleProperty
audioSpectrumIntervalProperty()
The interval between spectrum updates in seconds.ObjectProperty<AudioSpectrumListener>
audioSpectrumListenerProperty()
A listener for audio spectrum updates.IntegerProperty
audioSpectrumNumBandsProperty()
The number of bands in the audio spectrum.IntegerProperty
audioSpectrumThresholdProperty()
The sensitivity threshold in decibels; must be non-positive.BooleanProperty
autoPlayProperty()
Whether playing should start as soon as possible.DoubleProperty
balanceProperty()
The balance, or left-right setting, of the audio output.ReadOnlyObjectProperty<Duration>
bufferProgressTimeProperty()
The current buffer position indicating how much media can be played without stalling theMediaPlayer
.ReadOnlyIntegerProperty
currentCountProperty()
The number of completed playback cycles.ReadOnlyDoubleProperty
currentRateProperty()
The current rate of playback regardless of settings.ReadOnlyObjectProperty<Duration>
currentTimeProperty()
The current media playback time.IntegerProperty
cycleCountProperty()
The number of times the media will be played.ReadOnlyObjectProperty<Duration>
cycleDurationProperty()
void
dispose()
Free all resources associated with player.ReadOnlyObjectProperty<MediaException>
errorProperty()
Observable property set to aMediaException
if an error occurs.AudioEqualizer
getAudioEqualizer()
Retrieve theAudioEqualizer
associated with this player.double
getAudioSpectrumInterval()
Retrieves the value of the audio spectrum notification interval in seconds.AudioSpectrumListener
getAudioSpectrumListener()
Retrieves the listener of the audio spectrum.int
getAudioSpectrumNumBands()
Retrieves the number of bands in the audio spectrum.int
getAudioSpectrumThreshold()
Retrieves the audio spectrum threshold in decibels.double
getBalance()
Retrieves the audio balance.Duration
getBufferProgressTime()
Retrieves thebufferProgressTime
value.int
getCurrentCount()
Retrieves the index of the current cycle.double
getCurrentRate()
Retrieves the current playback rate.Duration
getCurrentTime()
Retrieves the current media time.int
getCycleCount()
Retrieves the cycle count.Duration
getCycleDuration()
Retrieves the cycle duration in seconds.MediaException
getError()
Retrieve the value of theerror
property ornull
if there is no error.Media
getMedia()
Retrieves theMedia
instance being played.Runnable
getOnEndOfMedia()
Retrieves the end of media event handler.Runnable
getOnError()
Retrieves the event handler for errors.Runnable
getOnHalted()
Retrieves theMediaPlayer.Status.HALTED
event handler.EventHandler<MediaMarkerEvent>
getOnMarker()
Retrieves the marker event handler.Runnable
getOnPaused()
Retrieves theMediaPlayer.Status.PAUSED
event handler.Runnable
getOnPlaying()
Retrieves theMediaPlayer.Status.PLAYING
event handler.Runnable
getOnReady()
Retrieves theMediaPlayer.Status.READY
event handler.Runnable
getOnRepeat()
Retrieves the repeat event handler.Runnable
getOnStalled()
Retrieves theMediaPlayer.Status.STALLED
event handler.Runnable
getOnStopped()
Retrieves theMediaPlayer.Status.STOPPED
event handler.double
getRate()
Retrieves the playback rate.Duration
getStartTime()
Retrieves the start time.MediaPlayer.Status
getStatus()
Retrieves the current player status.Duration
getStopTime()
Retrieves the stop time.Duration
getTotalDuration()
Retrieves the total playback duration including all cycles (repetitions).double
getVolume()
Retrieves the audio playback volume.boolean
isAutoPlay()
Retrieves theautoPlay
property value.boolean
isMute()
Retrieves themuteProperty()
value.BooleanProperty
muteProperty()
Whether the player audio is muted.ObjectProperty<Runnable>
onEndOfMediaProperty()
Event handler invoked when the playercurrentTime
reachesstopTime
.ObjectProperty<Runnable>
onErrorProperty()
Event handler invoked when an error occurs.ObjectProperty<Runnable>
onHaltedProperty()
Event handler invoked when the status changes toHALTED
.ObjectProperty<EventHandler<MediaMarkerEvent>>
onMarkerProperty()
Event handler invoked when the playercurrentTime
reaches a media marker.ObjectProperty<Runnable>
onPausedProperty()
Event handler invoked when the status changes toPAUSED
.ObjectProperty<Runnable>
onPlayingProperty()
Event handler invoked when the status changes toPLAYING
.ObjectProperty<Runnable>
onReadyProperty()
Event handler invoked when the status changes toREADY
.ObjectProperty<Runnable>
onRepeatProperty()
Event handler invoked when the playercurrentTime
reachesstopTime
and will be repeating.ObjectProperty<Runnable>
onStalledProperty()
Event handler invoked when the status changes toSTALLED
.ObjectProperty<Runnable>
onStoppedProperty()
Event handler invoked when the status changes toSTOPPED
.void
pause()
Pauses the player.void
play()
Starts playing the media.DoubleProperty
rateProperty()
The rate at which the media should be played.void
seek(Duration seekTime)
Seeks the player to a new playback time.void
setAudioSpectrumInterval(double value)
Sets the value of the audio spectrum notification interval in seconds.void
setAudioSpectrumListener(AudioSpectrumListener listener)
Sets the listener of the audio spectrum.void
setAudioSpectrumNumBands(int value)
Sets the number of bands in the audio spectrum.void
setAudioSpectrumThreshold(int value)
Sets the audio spectrum threshold in decibels.void
setAutoPlay(boolean value)
Sets theautoPlay
property value.void
setBalance(double value)
Sets the audio balance.void
setCycleCount(int value)
Sets the cycle count.void
setMute(boolean value)
Sets the value ofmuteProperty()
.void
setOnEndOfMedia(Runnable value)
Sets the end of media event handler.void
setOnError(Runnable value)
Sets the event handler to be called when an error occurs.void
setOnHalted(Runnable value)
Sets theMediaPlayer.Status.HALTED
event handler.void
setOnMarker(EventHandler<MediaMarkerEvent> onMarker)
Sets the marker event handler.void
setOnPaused(Runnable value)
Sets theMediaPlayer.Status.PAUSED
event handler.void
setOnPlaying(Runnable value)
Sets theMediaPlayer.Status.PLAYING
event handler.void
setOnReady(Runnable value)
Sets theMediaPlayer.Status.READY
event handler.void
setOnRepeat(Runnable value)
Sets the repeat event handler.void
setOnStalled(Runnable value)
Sets theMediaPlayer.Status.STALLED
event handler.void
setOnStopped(Runnable value)
Sets theMediaPlayer.Status.STOPPED
event handler.void
setRate(double value)
Sets the playback rate to the supplied value.void
setStartTime(Duration value)
Sets the start time.void
setStopTime(Duration value)
Sets the stop time.void
setVolume(double value)
Sets the audio playback volume.ObjectProperty<Duration>
startTimeProperty()
The time offset where media should start playing, or restart from when repeating.ReadOnlyObjectProperty<MediaPlayer.Status>
statusProperty()
The current state of the MediaPlayer.void
stop()
Stops playing the media.ObjectProperty<Duration>
stopTimeProperty()
The time offset where media should stop playing or restart when repeating.ReadOnlyObjectProperty<Duration>
totalDurationProperty()
The total amount of play time if allowed to play until finished.DoubleProperty
volumeProperty()
The volume at which the media should be played.
-
-
-
Property Detail
-
error
public ReadOnlyObjectProperty<MediaException> errorProperty
Observable property set to aMediaException
if an error occurs.- See Also:
getError()
-
onError
public ObjectProperty<Runnable> onErrorProperty
Event handler invoked when an error occurs.- See Also:
getOnError()
,setOnError(Runnable)
-
autoPlay
public BooleanProperty autoPlayProperty
Whether playing should start as soon as possible. For a new player this will occur once the player has reached the READY state. The default value isfalse
.- See Also:
isAutoPlay()
,setAutoPlay(boolean)
-
rate
public DoubleProperty rateProperty
The rate at which the media should be played. For example, a rate of1.0
plays the media at its normal (encoded) playback rate,2.0
plays back at twice the normal rate, etc. The currently supported range of rates is[0.0, 8.0]
. The default value is1.0
.- See Also:
getRate()
,setRate(double)
-
currentRate
public ReadOnlyDoubleProperty currentRateProperty
The current rate of playback regardless of settings. For example, ifrate
is set to 1.0 and the player is paused or stalled, thencurrentRate
will be zero.- See Also:
getCurrentRate()
-
volume
public DoubleProperty volumeProperty
The volume at which the media should be played. The range of effective values is[0.0 1.0]
where0.0
is inaudible and1.0
is full volume, which is the default.- See Also:
getVolume()
,setVolume(double)
-
balance
public DoubleProperty balanceProperty
The balance, or left-right setting, of the audio output. The range of effective values is[-1.0, 1.0]
with-1.0
being full left,0.0
center, and1.0
full right. The default value is0.0
.- See Also:
getBalance()
,setBalance(double)
-
startTime
public ObjectProperty<Duration> startTimeProperty
The time offset where media should start playing, or restart from when repeating. When playback is stopped, the current time is reset to this value. If this value is positive, then the first time the media is played there might be a delay before playing begins unless the play position can be set to an arbitrary time within the media. This could occur for example for a video which does not contain a lookup table of the offsets of intra-frames in the video stream. In such a case the video frames would need to be skipped over until the position of the first intra-frame before the start time was reached. The default value isDuration.ZERO
.Constraints:
0 ≤ startTime <
stopTime
- See Also:
getStartTime()
,setStartTime(Duration)
-
stopTime
public ObjectProperty<Duration> stopTimeProperty
The time offset where media should stop playing or restart when repeating. The default value is
.getMedia()
.getDuration()Constraints:
startTime
< stopTime ≤Media.duration
- See Also:
getStopTime()
,setStopTime(Duration)
-
cycleDuration
public ReadOnlyObjectProperty<Duration> cycleDurationProperty
The amount of time between thestartTime
andstopTime
of this player. For the total duration of the Media use theMedia.duration
property.- See Also:
getCycleDuration()
-
totalDuration
public ReadOnlyObjectProperty<Duration> totalDurationProperty
The total amount of play time if allowed to play until finished. IfcycleCount
is set toINDEFINITE
then this will also be INDEFINITE. If the Media duration is UNKNOWN, then this will likewise be UNKNOWN. Otherwise, total duration will be the product of cycleDuration and cycleCount.- See Also:
getTotalDuration()
-
currentTime
public ReadOnlyObjectProperty<Duration> currentTimeProperty
The current media playback time. This property is read-only: useseek(javafx.util.Duration)
to change playback to a different stream position.- See Also:
getCurrentTime()
-
status
public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty
The current state of the MediaPlayer.- See Also:
getStatus()
-
bufferProgressTime
public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty
The current buffer position indicating how much media can be played without stalling theMediaPlayer
. This is applicable to buffered streams such as those reading from network connections as opposed for example to local files.Seeking to a position beyond
bufferProgressTime
might cause a slight pause in playback until an amount of data sufficient to permit playback resumption has been buffered.- See Also:
getBufferProgressTime()
-
cycleCount
public IntegerProperty cycleCountProperty
The number of times the media will be played. By default,cycleCount
is set to1
meaning the media will only be played once. SettingcycleCount
to a value greater than 1 will cause the media to play the given number of times or until stopped. If set toINDEFINITE
, playback will repeat until stop() or pause() is called.constraints:
cycleCount ≥ 1
- See Also:
getCycleCount()
,setCycleCount(int)
-
currentCount
public ReadOnlyIntegerProperty currentCountProperty
The number of completed playback cycles. On the first pass, the value should be 0. On the second pass, the value should be 1 and so on. It is incremented at the end of each cycle just prior to seeking back tostartTime
, i.e., whenstopTime
or the end of media has been reached.- See Also:
getCurrentCount()
-
mute
public BooleanProperty muteProperty
Whether the player audio is muted. A value oftrue
indicates that audio is not being produced. The value of this property has no effect onvolume
, i.e., if the audio is muted and then un-muted, audio playback will resume at the same audible level provided of course that thevolume
property has not been modified meanwhile. The default value isfalse
.- See Also:
isMute()
,setMute(boolean)
-
onMarker
public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty
Event handler invoked when the playercurrentTime
reaches a media marker.- See Also:
getOnMarker()
,setOnMarker(EventHandler)
-
onEndOfMedia
public ObjectProperty<Runnable> onEndOfMediaProperty
Event handler invoked when the playercurrentTime
reachesstopTime
.- See Also:
getOnEndOfMedia()
,setOnEndOfMedia(Runnable)
-
onReady
public ObjectProperty<Runnable> onReadyProperty
Event handler invoked when the status changes toREADY
.- See Also:
getOnReady()
,setOnReady(Runnable)
-
onPlaying
public ObjectProperty<Runnable> onPlayingProperty
Event handler invoked when the status changes toPLAYING
.- See Also:
getOnPlaying()
,setOnPlaying(Runnable)
-
onPaused
public ObjectProperty<Runnable> onPausedProperty
Event handler invoked when the status changes toPAUSED
.- See Also:
getOnPaused()
,setOnPaused(Runnable)
-
onStopped
public ObjectProperty<Runnable> onStoppedProperty
Event handler invoked when the status changes toSTOPPED
.- See Also:
getOnStopped()
,setOnStopped(Runnable)
-
onHalted
public ObjectProperty<Runnable> onHaltedProperty
Event handler invoked when the status changes toHALTED
.- See Also:
getOnHalted()
,setOnHalted(Runnable)
-
onRepeat
public ObjectProperty<Runnable> onRepeatProperty
Event handler invoked when the playercurrentTime
reachesstopTime
and will be repeating. This callback is made prior to seeking back tostartTime
.- See Also:
getOnRepeat()
,setOnRepeat(Runnable)
-
onStalled
public ObjectProperty<Runnable> onStalledProperty
Event handler invoked when the status changes toSTALLED
.- See Also:
getOnStalled()
,setOnStalled(Runnable)
-
audioSpectrumNumBands
public IntegerProperty audioSpectrumNumBandsProperty
The number of bands in the audio spectrum. The default value is 128; minimum is 2. The frequency range of the audio signal will be divided into the specified number of frequency bins. For example, a typical digital music signal has a frequency range of[0.0, 22050]
Hz. If the number of spectral bands were in this case set to 10, the width of each frequency bin in the spectrum would be2205
Hz with the lower bound of the lowest frequency bin equal to0.0
.
-
audioSpectrumInterval
public DoubleProperty audioSpectrumIntervalProperty
The interval between spectrum updates in seconds. The default is0.1
seconds.
-
audioSpectrumThreshold
public IntegerProperty audioSpectrumThresholdProperty
The sensitivity threshold in decibels; must be non-positive. Values below this threshold with respect to the peak frequency in the given spectral band will be set to the value of the threshold. The default value is -60 dB.
-
audioSpectrumListener
public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty
A listener for audio spectrum updates. When the listener is registered, audio spectrum computation is enabled; upon removing the listener, computation is disabled. Only a single listener may be registered, so if multiple observers are required, events must be forwarded.An
AudioSpectrumListener
may be useful for example to plot the frequency spectrum of the audio being played or to generate waveforms for a music visualizer.
-
-
Field Detail
-
INDEFINITE
public static final int INDEFINITE
A value representing an effectively infinite number of playback cycles. WhencycleCount
is set to this value, the player will replay theMedia
until stopped or paused.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MediaPlayer
public MediaPlayer(Media media)
Create a player for a specific media. This is the only way to associate aMedia
object with aMediaPlayer
: once the player is created it cannot be changed. Errors which occur synchronously within the constructor will cause exceptions to be thrown. Errors which occur asynchronously will cause theerror
property to be set and consequently anyonError
callback to be invoked.When created, the
status
of the player will beMediaPlayer.Status.UNKNOWN
. Once thestatus
has transitioned toMediaPlayer.Status.READY
the player will be in a usable condition. The amount of time between player creation and its enteringREADY
status may vary depending, for example, on whether the media is being read over a network connection or from a local file system.- Parameters:
media
- The media to play.- Throws:
NullPointerException
- if media isnull
.MediaException
- if any synchronous errors occur within the constructor.
-
-
Method Detail
-
getAudioEqualizer
public final AudioEqualizer getAudioEqualizer()
Retrieve theAudioEqualizer
associated with this player.- Returns:
- the
AudioEqualizer
ornull
if player is disposed.
-
getError
public final MediaException getError()
Retrieve the value of theerror
property ornull
if there is no error.- Returns:
- a
MediaException
ornull
.
-
errorProperty
public ReadOnlyObjectProperty<MediaException> errorProperty()
Observable property set to aMediaException
if an error occurs.- See Also:
getError()
-
setOnError
public final void setOnError(Runnable value)
Sets the event handler to be called when an error occurs.- Parameters:
value
- the event handler ornull
.
-
getOnError
public final Runnable getOnError()
Retrieves the event handler for errors.- Returns:
- the event handler.
-
onErrorProperty
public ObjectProperty<Runnable> onErrorProperty()
Event handler invoked when an error occurs.- See Also:
getOnError()
,setOnError(Runnable)
-
getMedia
public final Media getMedia()
Retrieves theMedia
instance being played.- Returns:
- the
Media
object.
-
setAutoPlay
public final void setAutoPlay(boolean value)
Sets theautoPlay
property value.- Parameters:
value
- whether to enable auto-playback
-
isAutoPlay
public final boolean isAutoPlay()
Retrieves theautoPlay
property value.- Returns:
- the value.
-
autoPlayProperty
public BooleanProperty autoPlayProperty()
Whether playing should start as soon as possible. For a new player this will occur once the player has reached the READY state. The default value isfalse
.- See Also:
isAutoPlay()
,setAutoPlay(boolean)
-
play
public void play()
Starts playing the media. If previously paused, then playback resumes where it was paused. If playback was stopped, playback starts from thestartTime
. When playing actually starts thestatus
will be set toMediaPlayer.Status.PLAYING
.
-
pause
public void pause()
Pauses the player. Once the player is actually paused thestatus
will be set toMediaPlayer.Status.PAUSED
.
-
stop
public void stop()
Stops playing the media. This operation resets playback tostartTime
, and resetscurrentCount
to zero. Once the player is actually stopped, thestatus
will be set toMediaPlayer.Status.STOPPED
. The only transitions out ofSTOPPED
status are toMediaPlayer.Status.PAUSED
andMediaPlayer.Status.PLAYING
which occur after invokingpause()
orplay()
, respectively. While stopped, the player will not respond to playback position changes requested byseek(javafx.util.Duration)
.
-
setRate
public final void setRate(double value)
Sets the playback rate to the supplied value. Its effect will be clamped to the range[0.0, 8.0]
. Invoking this method will have no effect if media duration isDuration.INDEFINITE
.- Parameters:
value
- the playback rate
-
getRate
public final double getRate()
Retrieves the playback rate.- Returns:
- the playback rate
-
rateProperty
public DoubleProperty rateProperty()
The rate at which the media should be played. For example, a rate of1.0
plays the media at its normal (encoded) playback rate,2.0
plays back at twice the normal rate, etc. The currently supported range of rates is[0.0, 8.0]
. The default value is1.0
.- See Also:
getRate()
,setRate(double)
-
getCurrentRate
public final double getCurrentRate()
Retrieves the current playback rate.- Returns:
- the current rate
-
currentRateProperty
public ReadOnlyDoubleProperty currentRateProperty()
The current rate of playback regardless of settings. For example, ifrate
is set to 1.0 and the player is paused or stalled, thencurrentRate
will be zero.- See Also:
getCurrentRate()
-
setVolume
public final void setVolume(double value)
Sets the audio playback volume. Its effect will be clamped to the range[0.0, 1.0]
.- Parameters:
value
- the volume
-
getVolume
public final double getVolume()
Retrieves the audio playback volume. The default value is1.0
.- Returns:
- the audio volume
-
volumeProperty
public DoubleProperty volumeProperty()
The volume at which the media should be played. The range of effective values is[0.0 1.0]
where0.0
is inaudible and1.0
is full volume, which is the default.- See Also:
getVolume()
,setVolume(double)
-
setBalance
public final void setBalance(double value)
Sets the audio balance. Its effect will be clamped to the range[-1.0, 1.0]
.- Parameters:
value
- the balance
-
getBalance
public final double getBalance()
Retrieves the audio balance.- Returns:
- the audio balance
-
balanceProperty
public DoubleProperty balanceProperty()
The balance, or left-right setting, of the audio output. The range of effective values is[-1.0, 1.0]
with-1.0
being full left,0.0
center, and1.0
full right. The default value is0.0
.- See Also:
getBalance()
,setBalance(double)
-
setStartTime
public final void setStartTime(Duration value)
Sets the start time. Its effect will be clamped to the range[
. Invoking this method will have no effect if media duration isDuration.ZERO
,stopTime
)Duration.INDEFINITE
.- Parameters:
value
- the start time
-
getStartTime
public final Duration getStartTime()
Retrieves the start time. The default value isDuration.ZERO
.- Returns:
- the start time
-
startTimeProperty
public ObjectProperty<Duration> startTimeProperty()
The time offset where media should start playing, or restart from when repeating. When playback is stopped, the current time is reset to this value. If this value is positive, then the first time the media is played there might be a delay before playing begins unless the play position can be set to an arbitrary time within the media. This could occur for example for a video which does not contain a lookup table of the offsets of intra-frames in the video stream. In such a case the video frames would need to be skipped over until the position of the first intra-frame before the start time was reached. The default value isDuration.ZERO
.Constraints:
0 ≤ startTime <
stopTime
- See Also:
getStartTime()
,setStartTime(Duration)
-
setStopTime
public final void setStopTime(Duration value)
Sets the stop time. Its effect will be clamped to the range(
. Invoking this method will have no effect if media duration isstartTime
,Media.duration
]Duration.INDEFINITE
.- Parameters:
value
- the stop time
-
getStopTime
public final Duration getStopTime()
Retrieves the stop time. The default value is
. Note thatgetMedia()
.getDuration()
may have the valueMedia.duration
Duration.UNKNOWN
if media initialization is not complete.- Returns:
- the stop time
-
stopTimeProperty
public ObjectProperty<Duration> stopTimeProperty()
The time offset where media should stop playing or restart when repeating. The default value is
.getMedia()
.getDuration()Constraints:
startTime
< stopTime ≤Media.duration
- See Also:
getStopTime()
,setStopTime(Duration)
-
getCycleDuration
public final Duration getCycleDuration()
Retrieves the cycle duration in seconds.- Returns:
- the cycle duration
-
cycleDurationProperty
public ReadOnlyObjectProperty<Duration> cycleDurationProperty()
The amount of time between thestartTime
andstopTime
of this player. For the total duration of the Media use theMedia.duration
property.- See Also:
getCycleDuration()
-
getTotalDuration
public final Duration getTotalDuration()
Retrieves the total playback duration including all cycles (repetitions).- Returns:
- the total playback duration
-
totalDurationProperty
public ReadOnlyObjectProperty<Duration> totalDurationProperty()
The total amount of play time if allowed to play until finished. IfcycleCount
is set toINDEFINITE
then this will also be INDEFINITE. If the Media duration is UNKNOWN, then this will likewise be UNKNOWN. Otherwise, total duration will be the product of cycleDuration and cycleCount.- See Also:
getTotalDuration()
-
getCurrentTime
public final Duration getCurrentTime()
Retrieves the current media time.- Returns:
- the current media time
-
currentTimeProperty
public ReadOnlyObjectProperty<Duration> currentTimeProperty()
The current media playback time. This property is read-only: useseek(javafx.util.Duration)
to change playback to a different stream position.- See Also:
getCurrentTime()
-
seek
public void seek(Duration seekTime)
Seeks the player to a new playback time. Invoking this method will have no effect while the player status isMediaPlayer.Status.STOPPED
or media duration isDuration.INDEFINITE
.The behavior of
seek()
is constrained as follows where start time and stop time indicate the effective lower and upper bounds, respectively, of media playback:MediaPlayer Seek Table seekTime seek position null
no change Duration.UNKNOWN
no change Duration.INDEFINITE
stop time seekTime < start time start time seekTime > stop time stop time start time ≤ seekTime ≤ stop time seekTime - Parameters:
seekTime
- the requested playback time
-
getStatus
public final MediaPlayer.Status getStatus()
Retrieves the current player status.- Returns:
- the playback status
-
statusProperty
public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty()
The current state of the MediaPlayer.- See Also:
getStatus()
-
getBufferProgressTime
public final Duration getBufferProgressTime()
Retrieves thebufferProgressTime
value.- Returns:
- the buffer progress time
-
bufferProgressTimeProperty
public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty()
The current buffer position indicating how much media can be played without stalling theMediaPlayer
. This is applicable to buffered streams such as those reading from network connections as opposed for example to local files.Seeking to a position beyond
bufferProgressTime
might cause a slight pause in playback until an amount of data sufficient to permit playback resumption has been buffered.- See Also:
getBufferProgressTime()
-
setCycleCount
public final void setCycleCount(int value)
Sets the cycle count. Its effect will be constrained to[1,
. Invoking this method will have no effect if media duration isInteger.MAX_VALUE
]Duration.INDEFINITE
.- Parameters:
value
- the cycle count
-
getCycleCount
public final int getCycleCount()
Retrieves the cycle count.- Returns:
- the cycle count.
-
cycleCountProperty
public IntegerProperty cycleCountProperty()
The number of times the media will be played. By default,cycleCount
is set to1
meaning the media will only be played once. SettingcycleCount
to a value greater than 1 will cause the media to play the given number of times or until stopped. If set toINDEFINITE
, playback will repeat until stop() or pause() is called.constraints:
cycleCount ≥ 1
- See Also:
getCycleCount()
,setCycleCount(int)
-
getCurrentCount
public final int getCurrentCount()
Retrieves the index of the current cycle.- Returns:
- the current cycle index
-
currentCountProperty
public ReadOnlyIntegerProperty currentCountProperty()
The number of completed playback cycles. On the first pass, the value should be 0. On the second pass, the value should be 1 and so on. It is incremented at the end of each cycle just prior to seeking back tostartTime
, i.e., whenstopTime
or the end of media has been reached.- See Also:
getCurrentCount()
-
setMute
public final void setMute(boolean value)
Sets the value ofmuteProperty()
.- Parameters:
value
- themute
setting
-
isMute
public final boolean isMute()
Retrieves themuteProperty()
value.- Returns:
- the mute setting
-
muteProperty
public BooleanProperty muteProperty()
Whether the player audio is muted. A value oftrue
indicates that audio is not being produced. The value of this property has no effect onvolume
, i.e., if the audio is muted and then un-muted, audio playback will resume at the same audible level provided of course that thevolume
property has not been modified meanwhile. The default value isfalse
.- See Also:
isMute()
,setMute(boolean)
-
setOnMarker
public final void setOnMarker(EventHandler<MediaMarkerEvent> onMarker)
Sets the marker event handler.- Parameters:
onMarker
- the marker event handler.
-
getOnMarker
public final EventHandler<MediaMarkerEvent> getOnMarker()
Retrieves the marker event handler.- Returns:
- the marker event handler.
-
onMarkerProperty
public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty()
Event handler invoked when the playercurrentTime
reaches a media marker.- See Also:
getOnMarker()
,setOnMarker(EventHandler)
-
setOnEndOfMedia
public final void setOnEndOfMedia(Runnable value)
Sets the end of media event handler.- Parameters:
value
- the event handler ornull
.
-
getOnEndOfMedia
public final Runnable getOnEndOfMedia()
Retrieves the end of media event handler.- Returns:
- the event handler or
null
.
-
onEndOfMediaProperty
public ObjectProperty<Runnable> onEndOfMediaProperty()
Event handler invoked when the playercurrentTime
reachesstopTime
.- See Also:
getOnEndOfMedia()
,setOnEndOfMedia(Runnable)
-
setOnReady
public final void setOnReady(Runnable value)
Sets theMediaPlayer.Status.READY
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnReady
public final Runnable getOnReady()
Retrieves theMediaPlayer.Status.READY
event handler.- Returns:
- the event handler or
null
.
-
onReadyProperty
public ObjectProperty<Runnable> onReadyProperty()
Event handler invoked when the status changes toREADY
.- See Also:
getOnReady()
,setOnReady(Runnable)
-
setOnPlaying
public final void setOnPlaying(Runnable value)
Sets theMediaPlayer.Status.PLAYING
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnPlaying
public final Runnable getOnPlaying()
Retrieves theMediaPlayer.Status.PLAYING
event handler.- Returns:
- the event handler or
null
.
-
onPlayingProperty
public ObjectProperty<Runnable> onPlayingProperty()
Event handler invoked when the status changes toPLAYING
.- See Also:
getOnPlaying()
,setOnPlaying(Runnable)
-
setOnPaused
public final void setOnPaused(Runnable value)
Sets theMediaPlayer.Status.PAUSED
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnPaused
public final Runnable getOnPaused()
Retrieves theMediaPlayer.Status.PAUSED
event handler.- Returns:
- the event handler or
null
.
-
onPausedProperty
public ObjectProperty<Runnable> onPausedProperty()
Event handler invoked when the status changes toPAUSED
.- See Also:
getOnPaused()
,setOnPaused(Runnable)
-
setOnStopped
public final void setOnStopped(Runnable value)
Sets theMediaPlayer.Status.STOPPED
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnStopped
public final Runnable getOnStopped()
Retrieves theMediaPlayer.Status.STOPPED
event handler.- Returns:
- the event handler or
null
.
-
onStoppedProperty
public ObjectProperty<Runnable> onStoppedProperty()
Event handler invoked when the status changes toSTOPPED
.- See Also:
getOnStopped()
,setOnStopped(Runnable)
-
setOnHalted
public final void setOnHalted(Runnable value)
Sets theMediaPlayer.Status.HALTED
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnHalted
public final Runnable getOnHalted()
Retrieves theMediaPlayer.Status.HALTED
event handler.- Returns:
- the event handler or
null
.
-
onHaltedProperty
public ObjectProperty<Runnable> onHaltedProperty()
Event handler invoked when the status changes toHALTED
.- See Also:
getOnHalted()
,setOnHalted(Runnable)
-
setOnRepeat
public final void setOnRepeat(Runnable value)
Sets the repeat event handler.- Parameters:
value
- the event handler ornull
.
-
getOnRepeat
public final Runnable getOnRepeat()
Retrieves the repeat event handler.- Returns:
- the event handler or
null
.
-
onRepeatProperty
public ObjectProperty<Runnable> onRepeatProperty()
Event handler invoked when the playercurrentTime
reachesstopTime
and will be repeating. This callback is made prior to seeking back tostartTime
.- See Also:
getOnRepeat()
,setOnRepeat(Runnable)
-
setOnStalled
public final void setOnStalled(Runnable value)
Sets theMediaPlayer.Status.STALLED
event handler.- Parameters:
value
- the event handler ornull
.
-
getOnStalled
public final Runnable getOnStalled()
Retrieves theMediaPlayer.Status.STALLED
event handler.- Returns:
- the event handler or
null
.
-
onStalledProperty
public ObjectProperty<Runnable> onStalledProperty()
Event handler invoked when the status changes toSTALLED
.- See Also:
getOnStalled()
,setOnStalled(Runnable)
-
setAudioSpectrumNumBands
public final void setAudioSpectrumNumBands(int value)
Sets the number of bands in the audio spectrum.- Parameters:
value
- the number of spectral bands;value
must be ≥ 2
-
getAudioSpectrumNumBands
public final int getAudioSpectrumNumBands()
Retrieves the number of bands in the audio spectrum.- Returns:
- the number of spectral bands.
-
audioSpectrumNumBandsProperty
public IntegerProperty audioSpectrumNumBandsProperty()
The number of bands in the audio spectrum. The default value is 128; minimum is 2. The frequency range of the audio signal will be divided into the specified number of frequency bins. For example, a typical digital music signal has a frequency range of[0.0, 22050]
Hz. If the number of spectral bands were in this case set to 10, the width of each frequency bin in the spectrum would be2205
Hz with the lower bound of the lowest frequency bin equal to0.0
.
-
setAudioSpectrumInterval
public final void setAudioSpectrumInterval(double value)
Sets the value of the audio spectrum notification interval in seconds.- Parameters:
value
- a positive value specifying the spectral update interval
-
getAudioSpectrumInterval
public final double getAudioSpectrumInterval()
Retrieves the value of the audio spectrum notification interval in seconds.- Returns:
- the spectral update interval
-
audioSpectrumIntervalProperty
public DoubleProperty audioSpectrumIntervalProperty()
The interval between spectrum updates in seconds. The default is0.1
seconds.
-
setAudioSpectrumThreshold
public final void setAudioSpectrumThreshold(int value)
Sets the audio spectrum threshold in decibels.- Parameters:
value
- the spectral threshold in dB; must be ≤0
.
-
getAudioSpectrumThreshold
public final int getAudioSpectrumThreshold()
Retrieves the audio spectrum threshold in decibels.- Returns:
- the spectral threshold in dB
-
audioSpectrumThresholdProperty
public IntegerProperty audioSpectrumThresholdProperty()
The sensitivity threshold in decibels; must be non-positive. Values below this threshold with respect to the peak frequency in the given spectral band will be set to the value of the threshold. The default value is -60 dB.
-
setAudioSpectrumListener
public final void setAudioSpectrumListener(AudioSpectrumListener listener)
Sets the listener of the audio spectrum.- Parameters:
listener
- the spectral listener ornull
.
-
getAudioSpectrumListener
public final AudioSpectrumListener getAudioSpectrumListener()
Retrieves the listener of the audio spectrum.- Returns:
- the spectral listener or
null
-
audioSpectrumListenerProperty
public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty()
A listener for audio spectrum updates. When the listener is registered, audio spectrum computation is enabled; upon removing the listener, computation is disabled. Only a single listener may be registered, so if multiple observers are required, events must be forwarded.An
AudioSpectrumListener
may be useful for example to plot the frequency spectrum of the audio being played or to generate waveforms for a music visualizer.
-
dispose
public void dispose()
Free all resources associated with player. Player SHOULD NOT be used after this function is called. Player will transition toMediaPlayer.Status.DISPOSED
after this method is done. This method can be called anytime regardless of current player status.- Since:
- JavaFX 8.0
-
-