Class MediaPlayer
public final class MediaPlayer
extends Object MediaPlayer class provides the controls for playing media. It is used in combination with the Media and MediaView classes to display and control media playback. MediaPlayer does not contain any visual elements so must be used with the MediaView class to view any video track which may be present. MediaPlayer provides the pause(), play(), stop() and seek() controls as well as the rate and autoPlay properties which apply to all types of media. It also provides the balance, mute, and volume properties which control audio playback characteristics. Further control over audio quality may be attained via the AudioEqualizer associated with the player. Frequency descriptors of audio playback may be observed by registering an AudioSpectrumListener. Information about playback position, rate, and buffering may be obtained from the currentTime, currentRate, and bufferProgressTime properties, respectively. Media marker notifications are received by an event handler registered as the onMarker 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 the startTime and stopTime properties which in effect define a virtual media source with time position constrained to [startTime,stopTime]. Media playback commences at startTime and continues to stopTime. 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 the onRepeat property is invoked. If the stop time is reached, then the event handler registered with the onEndOfMedia property is invoked regardless of whether the cycle is to be repeated or not. A zero-relative index of which cycle is presently being played is maintained by currentCount.
The operation of a MediaPlayer is inherently asynchronous. A player is not prepared to respond to commands quasi-immediately until its status has transitioned to MediaPlayer.Status.READY, which in effect generally occurs when media pre-roll completes. Some requests made of a player prior to its status being READY will however take effect when that status is entered. These include invoking play() without an intervening invocation of pause() or stop() before the READY transition, as well as setting any of the autoPlay, balance, mute, rate, startTime, stopTime, and volume 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 as onReady if an action should be taken when a particular status is entered. There are also error and onError 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 multiple MediaViews. This will not affect the player itself. In particular, the property settings of the view will not have any effect on media playback.
- Since:
- JavaFX 2.0
- See Also:
-
Media,MediaView
Property Summary
| 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 the MediaPlayer. |
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 a MediaException if an error occurs. |
BooleanProperty | mute | Whether the player audio is muted. |
ObjectProperty<Runnable> | onEndOfMedia | Event handler invoked when the player currentTime reaches stopTime. |
ObjectProperty<Runnable> | onError | Event handler invoked when an error occurs. |
ObjectProperty<Runnable> | onHalted | Event handler invoked when the status changes to HALTED. |
ObjectProperty<EventHandler<MediaMarkerEvent>> | onMarker | Event handler invoked when the player currentTime reaches a media marker. |
ObjectProperty<Runnable> | onPaused | Event handler invoked when the status changes to PAUSED. |
ObjectProperty<Runnable> | onPlaying | Event handler invoked when the status changes to PLAYING. |
ObjectProperty<Runnable> | onReady | Event handler invoked when the status changes to READY. |
ObjectProperty<Runnable> | onRepeat | Event handler invoked when the player currentTime reaches stopTime and will be repeating. |
ObjectProperty<Runnable> | onStalled | Event handler invoked when the status changes to STALLED. |
ObjectProperty<Runnable> | onStopped | Event handler invoked when the status changes to STOPPED. |
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
| Modifier and Type | Class | Description |
|---|---|---|
static class | MediaPlayer.Status | Enumeration describing the different status values of a MediaPlayer. |
Field Summary
| Modifier and Type | Field | Description |
|---|---|---|
static int | INDEFINITE | A value representing an effectively infinite number of playback cycles. |
Constructor Summary
| Constructor | Description |
|---|---|
MediaPlayer(Media media) | Create a player for a specific media. |
Method Summary
| 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 the MediaPlayer. |
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 a MediaException if an error occurs. |
AudioEqualizer | getAudioEqualizer() | Retrieve the AudioEqualizer 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 the bufferProgressTime 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 the error property or null if there is no error. |
Media | getMedia() | Retrieves the Media instance being played. |
Runnable | getOnEndOfMedia() | Retrieves the end of media event handler. |
Runnable | getOnError() | Retrieves the event handler for errors. |
Runnable | getOnHalted() | Retrieves the MediaPlayer.Status.HALTED event handler. |
EventHandler<MediaMarkerEvent> | getOnMarker() | Retrieves the marker event handler. |
Runnable | getOnPaused() | Retrieves the MediaPlayer.Status.PAUSED event handler. |
Runnable | getOnPlaying() | Retrieves the MediaPlayer.Status.PLAYING event handler. |
Runnable | getOnReady() | Retrieves the MediaPlayer.Status.READY event handler. |
Runnable | getOnRepeat() | Retrieves the repeat event handler. |
Runnable | getOnStalled() | Retrieves the MediaPlayer.Status.STALLED event handler. |
Runnable | getOnStopped() | Retrieves the MediaPlayer.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 the autoPlay property value. |
boolean | isMute() | Retrieves the muteProperty() value. |
BooleanProperty | muteProperty() | Whether the player audio is muted. |
ObjectProperty<Runnable> | onEndOfMediaProperty() | Event handler invoked when the player currentTime reaches stopTime. |
ObjectProperty<Runnable> | onErrorProperty() | Event handler invoked when an error occurs. |
ObjectProperty<Runnable> | onHaltedProperty() | Event handler invoked when the status changes to HALTED. |
ObjectProperty<EventHandler<MediaMarkerEvent>> | onMarkerProperty() | Event handler invoked when the player currentTime reaches a media marker. |
ObjectProperty<Runnable> | onPausedProperty() | Event handler invoked when the status changes to PAUSED. |
ObjectProperty<Runnable> | onPlayingProperty() | Event handler invoked when the status changes to PLAYING. |
ObjectProperty<Runnable> | onReadyProperty() | Event handler invoked when the status changes to READY. |
ObjectProperty<Runnable> | onRepeatProperty() | Event handler invoked when the player currentTime reaches stopTime and will be repeating. |
ObjectProperty<Runnable> | onStalledProperty() | Event handler invoked when the status changes to STALLED. |
ObjectProperty<Runnable> | onStoppedProperty() | Event handler invoked when the status changes to STOPPED. |
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 the autoPlay 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 of muteProperty(). |
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 the MediaPlayer.Status.HALTED event handler. |
void | setOnMarker(EventHandler<MediaMarkerEvent> onMarker) | Sets the marker event handler. |
void | setOnPaused(Runnable value) | Sets the MediaPlayer.Status.PAUSED event handler. |
void | setOnPlaying(Runnable value) | Sets the MediaPlayer.Status.PLAYING event handler. |
void | setOnReady(Runnable value) | Sets the MediaPlayer.Status.READY event handler. |
void | setOnRepeat(Runnable value) | Sets the repeat event handler. |
void | setOnStalled(Runnable value) | Sets the MediaPlayer.Status.STALLED event handler. |
void | setOnStopped(Runnable value) | Sets the MediaPlayer.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 Details
error
public ReadOnlyObjectProperty<MediaException> errorProperty
MediaException if an error occurs.- See Also:
getError()
onError
public ObjectProperty<Runnable> onErrorProperty
- See Also:
-
getOnError(),setOnError(Runnable)
autoPlay
public BooleanProperty autoPlayProperty
false.- See Also:
-
isAutoPlay(),setAutoPlay(boolean)
rate
public DoubleProperty rateProperty
1.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 is 1.0.- See Also:
-
getRate(),setRate(double)
currentRate
public ReadOnlyDoubleProperty currentRateProperty
rate is set to 1.0 and the player is paused or stalled, then currentRate will be zero.- See Also:
getCurrentRate()
volume
public DoubleProperty volumeProperty
[0.0 1.0] where 0.0 is inaudible and 1.0 is full volume, which is the default.- See Also:
-
getVolume(),setVolume(double)
balance
public DoubleProperty balanceProperty
[-1.0, 1.0] with -1.0 being full left, 0.0 center, and 1.0 full right. The default value is 0.0.- See Also:
-
getBalance(),setBalance(double)
startTime
public ObjectProperty<Duration> startTimeProperty
Duration.ZERO. Constraints: 0 ≤ startTime < stopTime
- See Also:
-
getStartTime(),setStartTime(Duration)
stopTime
public ObjectProperty<Duration> stopTimeProperty
getMedia().getDuration(). Constraints: startTime < stopTime ≤ Media.duration
- See Also:
-
getStopTime(),setStopTime(Duration)
cycleDuration
public ReadOnlyObjectProperty<Duration> cycleDurationProperty
startTime and stopTime of this player. For the total duration of the Media use the Media.duration property.- See Also:
getCycleDuration()
totalDuration
public ReadOnlyObjectProperty<Duration> totalDurationProperty
cycleCount is set to INDEFINITE 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
seek(javafx.util.Duration) to change playback to a different stream position.- See Also:
getCurrentTime()
status
public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty
- See Also:
getStatus()
bufferProgressTime
public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty
MediaPlayer. 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
cycleCount is set to 1 meaning the media will only be played once. Setting cycleCount to a value greater than 1 will cause the media to play the given number of times or until stopped. If set to INDEFINITE, playback will repeat until stop() or pause() is called. constraints: cycleCount ≥ 1
- See Also:
-
getCycleCount(),setCycleCount(int)
currentCount
public ReadOnlyIntegerProperty currentCountProperty
startTime, i.e., when stopTime or the end of media has been reached.- See Also:
getCurrentCount()
mute
public BooleanProperty muteProperty
true indicates that audio is not being produced. The value of this property has no effect on volume, i.e., if the audio is muted and then un-muted, audio playback will resume at the same audible level provided of course that the volume property has not been modified meanwhile. The default value is false.- See Also:
-
isMute(),setMute(boolean)
onMarker
public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty
currentTime reaches a media marker.- See Also:
-
getOnMarker(),setOnMarker(EventHandler)
onEndOfMedia
public ObjectProperty<Runnable> onEndOfMediaProperty
currentTime reaches stopTime.- See Also:
-
getOnEndOfMedia(),setOnEndOfMedia(Runnable)
onReady
public ObjectProperty<Runnable> onReadyProperty
READY.- See Also:
-
getOnReady(),setOnReady(Runnable)
onPlaying
public ObjectProperty<Runnable> onPlayingProperty
PLAYING.- See Also:
-
getOnPlaying(),setOnPlaying(Runnable)
onPaused
public ObjectProperty<Runnable> onPausedProperty
PAUSED.- See Also:
-
getOnPaused(),setOnPaused(Runnable)
onStopped
public ObjectProperty<Runnable> onStoppedProperty
STOPPED.- See Also:
-
getOnStopped(),setOnStopped(Runnable)
onHalted
public ObjectProperty<Runnable> onHaltedProperty
HALTED.- See Also:
-
getOnHalted(),setOnHalted(Runnable)
onRepeat
public ObjectProperty<Runnable> onRepeatProperty
currentTime reaches stopTime and will be repeating. This callback is made prior to seeking back to startTime.- See Also:
-
getOnRepeat(),setOnRepeat(Runnable)
onStalled
public ObjectProperty<Runnable> onStalledProperty
STALLED.- See Also:
-
getOnStalled(),setOnStalled(Runnable)
audioSpectrumNumBands
public IntegerProperty audioSpectrumNumBandsProperty
[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 be 2205 Hz with the lower bound of the lowest frequency bin equal to 0.0.- See Also:
-
getAudioSpectrumNumBands(),setAudioSpectrumNumBands(int)
audioSpectrumInterval
public DoubleProperty audioSpectrumIntervalProperty
0.1 seconds.- See Also:
-
getAudioSpectrumInterval(),setAudioSpectrumInterval(double)
audioSpectrumThreshold
public IntegerProperty audioSpectrumThresholdProperty
- See Also:
-
getAudioSpectrumThreshold(),setAudioSpectrumThreshold(int)
audioSpectrumListener
public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty
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.
- See Also:
-
getAudioSpectrumListener(),setAudioSpectrumListener(AudioSpectrumListener)
Field Details
INDEFINITE
public static final int INDEFINITE
cycleCount is set to this value, the player will replay the Media until stopped or paused.- See Also:
- Constant Field Values
Constructor Details
MediaPlayer
public MediaPlayer(Media media)
Media object with a MediaPlayer: 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 the error property to be set and consequently any onError callback to be invoked. When created, the status of the player will be MediaPlayer.Status.UNKNOWN. Once the status has transitioned to MediaPlayer.Status.READY the player will be in a usable condition. The amount of time between player creation and its entering READY 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 Details
getAudioEqualizer
public final AudioEqualizer getAudioEqualizer()
AudioEqualizer associated with this player.- Returns:
- the
AudioEqualizerornullif player is disposed.
getError
public final MediaException getError()
error property or null if there is no error.- Returns:
- a
MediaExceptionornull.
errorProperty
public ReadOnlyObjectProperty<MediaException> errorProperty()
MediaException if an error occurs.- See Also:
getError()
setOnError
public final void setOnError(Runnable value)
- Parameters:
-
value- the event handler ornull.
getOnError
public final Runnable getOnError()
- Returns:
- the event handler.
onErrorProperty
public ObjectProperty<Runnable> onErrorProperty()
- See Also:
-
getOnError(),setOnError(Runnable)
getMedia
public final Media getMedia()
Media instance being played.- Returns:
- the
Mediaobject.
setAutoPlay
public final void setAutoPlay(boolean value)
autoPlay property value.- Parameters:
-
value- whether to enable auto-playback
isAutoPlay
public final boolean isAutoPlay()
autoPlay property value.- Returns:
- the value.
autoPlayProperty
public BooleanProperty autoPlayProperty()
false.- See Also:
-
isAutoPlay(),setAutoPlay(boolean)
play
public void play()
startTime. When playing actually starts the status will be set to MediaPlayer.Status.PLAYING.pause
public void pause()
status will be set to MediaPlayer.Status.PAUSED.stop
public void stop()
startTime, and resets currentCount to zero. Once the player is actually stopped, the status will be set to MediaPlayer.Status.STOPPED. The only transitions out of STOPPED status are to MediaPlayer.Status.PAUSED and MediaPlayer.Status.PLAYING which occur after invoking pause() or play(), respectively. While stopped, the player will not respond to playback position changes requested by seek(javafx.util.Duration).setRate
public final void setRate(double value)
[0.0, 8.0]. Invoking this method will have no effect if media duration is Duration.INDEFINITE.- Parameters:
-
value- the playback rate
getRate
public final double getRate()
- Returns:
- the playback rate
rateProperty
public DoubleProperty rateProperty()
1.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 is 1.0.- See Also:
-
getRate(),setRate(double)
getCurrentRate
public final double getCurrentRate()
- Returns:
- the current rate
currentRateProperty
public ReadOnlyDoubleProperty currentRateProperty()
rate is set to 1.0 and the player is paused or stalled, then currentRate will be zero.- See Also:
getCurrentRate()
setVolume
public final void setVolume(double value)
[0.0, 1.0].- Parameters:
-
value- the volume
getVolume
public final double getVolume()
1.0.- Returns:
- the audio volume
volumeProperty
public DoubleProperty volumeProperty()
[0.0 1.0] where 0.0 is inaudible and 1.0 is full volume, which is the default.- See Also:
-
getVolume(),setVolume(double)
setBalance
public final void setBalance(double value)
[-1.0, 1.0].- Parameters:
-
value- the balance
getBalance
public final double getBalance()
- Returns:
- the audio balance
balanceProperty
public DoubleProperty balanceProperty()
[-1.0, 1.0] with -1.0 being full left, 0.0 center, and 1.0 full right. The default value is 0.0.- See Also:
-
getBalance(),setBalance(double)
setStartTime
public final void setStartTime(Duration value)
[Duration.ZERO, stopTime). Invoking this method will have no effect if media duration is Duration.INDEFINITE.- Parameters:
-
value- the start time
getStartTime
public final Duration getStartTime()
Duration.ZERO.- Returns:
- the start time
startTimeProperty
public ObjectProperty<Duration> startTimeProperty()
Duration.ZERO. Constraints: 0 ≤ startTime < stopTime
- See Also:
-
getStartTime(),setStartTime(Duration)
setStopTime
public final void setStopTime(Duration value)
(startTime, Media.duration]. Invoking this method will have no effect if media duration is Duration.INDEFINITE.- Parameters:
-
value- the stop time
getStopTime
public final Duration getStopTime()
getMedia().getDuration(). Note that Media.duration may have the value Duration.UNKNOWN if media initialization is not complete.- Returns:
- the stop time
stopTimeProperty
public ObjectProperty<Duration> stopTimeProperty()
getMedia().getDuration(). Constraints: startTime < stopTime ≤ Media.duration
- See Also:
-
getStopTime(),setStopTime(Duration)
getCycleDuration
public final Duration getCycleDuration()
- Returns:
- the cycle duration
cycleDurationProperty
public ReadOnlyObjectProperty<Duration> cycleDurationProperty()
startTime and stopTime of this player. For the total duration of the Media use the Media.duration property.- See Also:
getCycleDuration()
getTotalDuration
public final Duration getTotalDuration()
- Returns:
- the total playback duration
totalDurationProperty
public ReadOnlyObjectProperty<Duration> totalDurationProperty()
cycleCount is set to INDEFINITE 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()
- Returns:
- the current media time
currentTimeProperty
public ReadOnlyObjectProperty<Duration> currentTimeProperty()
seek(javafx.util.Duration) to change playback to a different stream position.- See Also:
getCurrentTime()
seek
public void seek(Duration seekTime)
MediaPlayer.Status.STOPPED or media duration is Duration.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:
| 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()
- Returns:
- the playback status
statusProperty
public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty()
- See Also:
getStatus()
getBufferProgressTime
public final Duration getBufferProgressTime()
bufferProgressTime value.- Returns:
- the buffer progress time
bufferProgressTimeProperty
public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty()
MediaPlayer. 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)
[1,Integer.MAX_VALUE]. Invoking this method will have no effect if media duration is Duration.INDEFINITE.- Parameters:
-
value- the cycle count
getCycleCount
public final int getCycleCount()
- Returns:
- the cycle count.
cycleCountProperty
public IntegerProperty cycleCountProperty()
cycleCount is set to 1 meaning the media will only be played once. Setting cycleCount to a value greater than 1 will cause the media to play the given number of times or until stopped. If set to INDEFINITE, playback will repeat until stop() or pause() is called. constraints: cycleCount ≥ 1
- See Also:
-
getCycleCount(),setCycleCount(int)
getCurrentCount
public final int getCurrentCount()
- Returns:
- the current cycle index
currentCountProperty
public ReadOnlyIntegerProperty currentCountProperty()
startTime, i.e., when stopTime or the end of media has been reached.- See Also:
getCurrentCount()
setMute
public final void setMute(boolean value)
muteProperty().- Parameters:
-
value- themutesetting
isMute
public final boolean isMute()
muteProperty() value.- Returns:
- the mute setting
muteProperty
public BooleanProperty muteProperty()
true indicates that audio is not being produced. The value of this property has no effect on volume, i.e., if the audio is muted and then un-muted, audio playback will resume at the same audible level provided of course that the volume property has not been modified meanwhile. The default value is false.- See Also:
-
isMute(),setMute(boolean)
setOnMarker
public final void setOnMarker(EventHandler<MediaMarkerEvent> onMarker)
- Parameters:
-
onMarker- the marker event handler.
getOnMarker
public final EventHandler<MediaMarkerEvent> getOnMarker()
- Returns:
- the marker event handler.
onMarkerProperty
public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty()
currentTime reaches a media marker.- See Also:
-
getOnMarker(),setOnMarker(EventHandler)
setOnEndOfMedia
public final void setOnEndOfMedia(Runnable value)
- Parameters:
-
value- the event handler ornull.
getOnEndOfMedia
public final Runnable getOnEndOfMedia()
- Returns:
- the event handler or
null.
onEndOfMediaProperty
public ObjectProperty<Runnable> onEndOfMediaProperty()
currentTime reaches stopTime.- See Also:
-
getOnEndOfMedia(),setOnEndOfMedia(Runnable)
setOnReady
public final void setOnReady(Runnable value)
MediaPlayer.Status.READY event handler.- Parameters:
-
value- the event handler ornull.
getOnReady
public final Runnable getOnReady()
MediaPlayer.Status.READY event handler.- Returns:
- the event handler or
null.
onReadyProperty
public ObjectProperty<Runnable> onReadyProperty()
READY.- See Also:
-
getOnReady(),setOnReady(Runnable)
setOnPlaying
public final void setOnPlaying(Runnable value)
MediaPlayer.Status.PLAYING event handler.- Parameters:
-
value- the event handler ornull.
getOnPlaying
public final Runnable getOnPlaying()
MediaPlayer.Status.PLAYING event handler.- Returns:
- the event handler or
null.
onPlayingProperty
public ObjectProperty<Runnable> onPlayingProperty()
PLAYING.- See Also:
-
getOnPlaying(),setOnPlaying(Runnable)
setOnPaused
public final void setOnPaused(Runnable value)
MediaPlayer.Status.PAUSED event handler.- Parameters:
-
value- the event handler ornull.
getOnPaused
public final Runnable getOnPaused()
MediaPlayer.Status.PAUSED event handler.- Returns:
- the event handler or
null.
onPausedProperty
public ObjectProperty<Runnable> onPausedProperty()
PAUSED.- See Also:
-
getOnPaused(),setOnPaused(Runnable)
setOnStopped
public final void setOnStopped(Runnable value)
MediaPlayer.Status.STOPPED event handler.- Parameters:
-
value- the event handler ornull.
getOnStopped
public final Runnable getOnStopped()
MediaPlayer.Status.STOPPED event handler.- Returns:
- the event handler or
null.
onStoppedProperty
public ObjectProperty<Runnable> onStoppedProperty()
STOPPED.- See Also:
-
getOnStopped(),setOnStopped(Runnable)
setOnHalted
public final void setOnHalted(Runnable value)
MediaPlayer.Status.HALTED event handler.- Parameters:
-
value- the event handler ornull.
getOnHalted
public final Runnable getOnHalted()
MediaPlayer.Status.HALTED event handler.- Returns:
- the event handler or
null.
onHaltedProperty
public ObjectProperty<Runnable> onHaltedProperty()
HALTED.- See Also:
-
getOnHalted(),setOnHalted(Runnable)
setOnRepeat
public final void setOnRepeat(Runnable value)
- Parameters:
-
value- the event handler ornull.
getOnRepeat
public final Runnable getOnRepeat()
- Returns:
- the event handler or
null.
onRepeatProperty
public ObjectProperty<Runnable> onRepeatProperty()
currentTime reaches stopTime and will be repeating. This callback is made prior to seeking back to startTime.- See Also:
-
getOnRepeat(),setOnRepeat(Runnable)
setOnStalled
public final void setOnStalled(Runnable value)
MediaPlayer.Status.STALLED event handler.- Parameters:
-
value- the event handler ornull.
getOnStalled
public final Runnable getOnStalled()
MediaPlayer.Status.STALLED event handler.- Returns:
- the event handler or
null.
onStalledProperty
public ObjectProperty<Runnable> onStalledProperty()
STALLED.- See Also:
-
getOnStalled(),setOnStalled(Runnable)
setAudioSpectrumNumBands
public final void setAudioSpectrumNumBands(int value)
- Parameters:
-
value- the number of spectral bands;valuemust be ≥ 2
getAudioSpectrumNumBands
public final int getAudioSpectrumNumBands()
- Returns:
- the number of spectral bands.
audioSpectrumNumBandsProperty
public IntegerProperty audioSpectrumNumBandsProperty()
[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 be 2205 Hz with the lower bound of the lowest frequency bin equal to 0.0.- See Also:
-
getAudioSpectrumNumBands(),setAudioSpectrumNumBands(int)
setAudioSpectrumInterval
public final void setAudioSpectrumInterval(double value)
- Parameters:
-
value- a positive value specifying the spectral update interval
getAudioSpectrumInterval
public final double getAudioSpectrumInterval()
- Returns:
- the spectral update interval
audioSpectrumIntervalProperty
public DoubleProperty audioSpectrumIntervalProperty()
0.1 seconds.- See Also:
-
getAudioSpectrumInterval(),setAudioSpectrumInterval(double)
setAudioSpectrumThreshold
public final void setAudioSpectrumThreshold(int value)
- Parameters:
-
value- the spectral threshold in dB; must be ≤0.
getAudioSpectrumThreshold
public final int getAudioSpectrumThreshold()
- Returns:
- the spectral threshold in dB
audioSpectrumThresholdProperty
public IntegerProperty audioSpectrumThresholdProperty()
- See Also:
-
getAudioSpectrumThreshold(),setAudioSpectrumThreshold(int)
setAudioSpectrumListener
public final void setAudioSpectrumListener(AudioSpectrumListener listener)
- Parameters:
-
listener- the spectral listener ornull.
getAudioSpectrumListener
public final AudioSpectrumListener getAudioSpectrumListener()
- Returns:
- the spectral listener or
null
audioSpectrumListenerProperty
public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty()
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.
- See Also:
-
getAudioSpectrumListener(),setAudioSpectrumListener(AudioSpectrumListener)
dispose
public void dispose()
MediaPlayer.Status.DISPOSED after this method is done. This method can be called anytime regardless of current player status.- Since:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.