Spec-Zone.ru › OpenJavaFX 17

Класс MediaPlayer

java.lang.Object
javafx.scene.media.MediaPlayer
public final class MediaPlayer
extends Object
Класс MediaPlayer предоставляет средства управления воспроизведением медиаданных. Он используется совместно с классами Media и MediaView для отображения и управления воспроизведением медиа. MediaPlayer не содержит визуальных элементов, поэтому его необходимо использовать с классом MediaView для просмотра присутствующих видеодорожек.

MediaPlayer предоставляет средства управления pause(), play(), stop() и seek(), а также свойства rate и autoPlay, которые применимы ко всем типам медиа. Он также предоставляет свойства balance, mute и volume для управления характеристиками аудиовоспроизведения. Более точный контроль качества звука может быть обеспечен с помощью AudioEqualizer, связанного с проигрывателем. Описание частотных характеристик аудиовоспроизведения можно получить, зарегистрировав AudioSpectrumListener. Информация о позиции воспроизведения, скорости и буферизации может быть получена из свойств currentTime, currentRate и bufferProgressTime соответственно. Уведомления о метках медиа получают обработчик событий, зарегистрированный в качестве свойства onMarker.

Для медиа с конечной длительностью воспроизведение может быть позиционировано в любой момент времени между 0.0 и длительностью медиа. MediaPlayer уточняет это определение, добавив свойства startTime и stopTime, которые фактически определяют виртуальный источник медиа с позицией во времени, ограниченной [startTime,stopTime]. Воспроизведение медиа начинается с startTime и продолжается до stopTime. Интервал, определяемый этими двумя конечными точками, называется циклом, а его длительность — разность между временем остановки и времени начала. Этот цикл может повторяться определенное или неопределенное количество раз. Общая длительность воспроизведения медиа — это произведение длительности цикла и числа повторений цикла. Если время остановки цикла достигнуто, и цикл должен быть воспроизведён снова, вызывается обработчик событий, зарегистрированный в качестве свойства onRepeat. Если время остановки достигнуто, то обработчик событий, зарегистрированный в качестве свойства onEndOfMedia, вызывается независимо от того, должен ли цикл повторяться или нет. Номер текущего цикла с нулевым началом поддерживается свойством currentCount.

Функционирование MediaPlayer по своей сути является асинхронным. Проигрыватель не готов немедленно реагировать на команды до тех пор, пока его состояние не перейдёт в MediaPlayer.Status.READY, что, как правило, происходит после завершения предварительного проигрывания медиа. Однако некоторые запросы, отправленные проигрывателю до перехода его в состояние READY, вступят в силу при входе в это состояние. К ним относятся вызов play() без предшествующего вызова pause() или stop() до перехода в состояние READY, а также установка любых свойств autoPlay, balance, mute, rate, startTime, stopTime и volume.

Свойство status можно отслеживать, чтобы приложение знало о изменениях состояния проигрывателя, и функции обратного вызова можно зарегистрировать с помощью свойств, таких как onReady, если необходимо выполнить действие при входе в определённое состояние. Также есть свойства error и onError, которые позволяют отслеживать возникновение ошибки и выполнять заданное действие в ответ на неё.

Один и тот же объект MediaPlayer может быть использован несколькими MediaView. Это не повлияет на сам проигрыватель. В частности, настройки свойств представления не будут влиять на воспроизведение медиа.

Since:
JavaFX 2.0
См. также:
Media, MediaView

Краткое описание свойств

Свойства
Тип Свойство Описание
DoubleProperty audioSpectrumInterval
Интервал между обновлениями спектра в секундах.
ObjectProperty<AudioSpectrumListener> audioSpectrumListener
Прослушиватель обновлений аудиоспектра.
IntegerProperty audioSpectrumNumBands
Количество полос в аудиоспектре.
IntegerProperty audioSpectrumThreshold
Пороговое значение чувствительности в децибелах; должно быть не положительным.
BooleanProperty autoPlay
Следует ли начать воспроизведение как можно скорее.
DoubleProperty balance
Баланс или настройка «лево-право» аудиовыхода.
ReadOnlyObjectProperty<Duration> bufferProgressTime
Текущая позиция буфера, указывающая, сколько медиа можно воспроизвести без приостановки работы MediaPlayer.
ReadOnlyIntegerProperty currentCount
Количество завершенных циклов воспроизведения.
ReadOnlyDoubleProperty currentRate
Текущая скорость воспроизведения независимо от настроек.
ReadOnlyObjectProperty<Duration> currentTime
Текущее время воспроизведения медиа.
IntegerProperty cycleCount
Количество раз, которое будет воспроизводиться медиа.
ReadOnlyObjectProperty<Duration> cycleDuration
Время между startTime и stopTime этого плеера.
ReadOnlyObjectProperty<MediaException> error
Наблюдаемое свойство, устанавливаемое на MediaException в случае ошибки.
BooleanProperty mute
Выключен ли звук плеера.
ObjectProperty<Runnable> onEndOfMedia
Обработчик событий, вызываемый, когда плеер currentTime достигает stopTime.
ObjectProperty<Runnable> onError
Обработчик событий, вызываемый при возникновении ошибки.
ObjectProperty<Runnable> onHalted
Обработчик событий, вызываемый при изменении состояния на HALTED.
ObjectProperty<EventHandler<MediaMarkerEvent>> onMarker
Обработчик событий, вызываемый, когда плеер currentTime достигает метки медиа.
ObjectProperty<Runnable> onPaused
Обработчик событий, вызываемый при изменении состояния на PAUSED.
ObjectProperty<Runnable> onPlaying
Обработчик событий, вызываемый при изменении состояния на PLAYING.
ObjectProperty<Runnable> onReady
Обработчик событий, вызываемый при изменении состояния на READY.
ObjectProperty<Runnable> onRepeat
Обработчик событий, вызываемый, когда плеер currentTime достигает stopTime и будет повторён.
ObjectProperty<Runnable> onStalled
Обработчик событий, вызываемый при изменении состояния на STALLED.
ObjectProperty<Runnable> onStopped
Обработчик событий, вызываемый при изменении состояния на STOPPED.
DoubleProperty rate
Скорость, с которой должна воспроизводиться медиа.
ObjectProperty<Duration> startTime
Смещение времени, с которого должна начинаться или перезапускаться медиа при повторе.
ReadOnlyObjectProperty<MediaPlayer.Status> status
Текущее состояние MediaPlayer.
ObjectProperty<Duration> stopTime
Смещение времени, в котором должна завершаться медиа или перезапускаться при повторе.
ReadOnlyObjectProperty<Duration> totalDuration
Общее время воспроизведения, если разрешено воспроизведение до конца.
DoubleProperty volume
Громкость, с которой должна воспроизводиться медиа.

Краткое описание вложенных классов

Вложенные классы
Модификатор и тип Класс Описание
static class  MediaPlayer.Status
Перечисление, описывающее различные значения состояния MediaPlayer.

Краткое описание полей

Поля
Модификатор и тип Поле Описание
static int INDEFINITE
Значение, представляющее эффективно бесконечное число циклов воспроизведения.

Краткое описание конструкторов

Конструкторы
Конструктор Описание
MediaPlayer​(Media media)
Создать плеер для конкретного медиа.

Краткое описание методов

Модификатор и тип Метод Описание
DoubleProperty audioSpectrumIntervalProperty()
Интервал обновления спектра в секундах.
ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty()
Прослушиватель обновлений аудиоспектра.
IntegerProperty audioSpectrumNumBandsProperty()
Количество полос в аудиоспектре.
IntegerProperty audioSpectrumThresholdProperty()
Пороговое значение чувствительности в децибелах; должно быть не положительным.
BooleanProperty autoPlayProperty()
Начать воспроизведение как можно быстрее.
DoubleProperty balanceProperty()
Баланс или лево-право настройка аудиовыхода.
ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty()
Текущая позиция буфера, показывающая, сколько медиа можно воспроизвести без остановки MediaPlayer.
ReadOnlyIntegerProperty currentCountProperty()
Количество завершённых циклов воспроизведения.
ReadOnlyDoubleProperty currentRateProperty()
Текущая скорость воспроизведения независимо от настроек.
ReadOnlyObjectProperty<Duration> currentTimeProperty()
Текущее время воспроизведения медиа.
IntegerProperty cycleCountProperty()
Количество раз, которое медиа будет воспроизведено.
ReadOnlyObjectProperty<Duration> cycleDurationProperty()
Время между startTime и stopTime этого плеера.
void dispose()
Освободить все ресурсы, связанные с плеером.
ReadOnlyObjectProperty<MediaException> errorProperty()
Наблюдаемое свойство, установленное на MediaException, если произошла ошибка.
AudioEqualizer getAudioEqualizer()
Получить связанный с этим плеером AudioEqualizer.
double getAudioSpectrumInterval()
Получить значение интервала уведомлений аудиоспектра в секундах.
AudioSpectrumListener getAudioSpectrumListener()
Получить прослушиватель аудиоспектра.
int getAudioSpectrumNumBands()
Получить количество полос в аудиоспектре.
int getAudioSpectrumThreshold()
Получить порог аудиоспектра в децибелах.
double getBalance()
Получить баланс аудио.
Duration getBufferProgressTime()
Получить значение bufferProgressTime.
int getCurrentCount()
Получить индекс текущего цикла.
double getCurrentRate()
Получить текущую скорость воспроизведения.
Duration getCurrentTime()
Получить текущее время медиа.
int getCycleCount()
Получить количество циклов.
Duration getCycleDuration()
Получить длительность цикла в секундах.
MediaException getError()
Получить значение свойства error или null, если ошибки нет.
Media getMedia()
Получить экземпляр Media, который воспроизводится.
Runnable getOnEndOfMedia()
Получить обработчик события конца медиа.
Runnable getOnError()
Получить обработчик событий ошибок.
Runnable getOnHalted()
Получить обработчик события MediaPlayer.Status.HALTED.
EventHandler<MediaMarkerEvent> getOnMarker()
Получить обработчик события метки.
Runnable getOnPaused()
Получить обработчик события MediaPlayer.Status.PAUSED.
Runnable getOnPlaying()
Получить обработчик события MediaPlayer.Status.PLAYING.
Runnable getOnReady()
Получить обработчик события MediaPlayer.Status.READY.
Runnable getOnRepeat()
Получить обработчик события повтора.
Runnable getOnStalled()
Получить обработчик события MediaPlayer.Status.STALLED.
Runnable getOnStopped()
Получить обработчик события MediaPlayer.Status.STOPPED.
double getRate()
Получить скорость воспроизведения.
Duration getStartTime()
Получить начальное время.
MediaPlayer.Status getStatus()
Получить текущий статус плеера.
Duration getStopTime()
Получить конечное время.
Duration getTotalDuration()
Получает общее время воспроизведения, включая все циклы (повторения).
double getVolume()
Получает громкость звука при воспроизведении.
boolean isAutoPlay()
Получает значение свойства autoPlay.
boolean isMute()
Получает значение muteProperty().
BooleanProperty muteProperty()
Установлено ли для аудио плеера значение немого.
ObjectProperty<Runnable> onEndOfMediaProperty()
Обработчик события, вызываемый, когда плеер currentTime достигает stopTime.
ObjectProperty<Runnable> onErrorProperty()
Обработчик события, вызываемый при возникновении ошибки.
ObjectProperty<Runnable> onHaltedProperty()
Обработчик события, вызываемый, когда статус меняется на HALTED.
ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty()
Обработчик события, вызываемый, когда плеер currentTime достигает метки медиа.
ObjectProperty<Runnable> onPausedProperty()
Обработчик события, вызываемый, когда статус меняется на PAUSED.
ObjectProperty<Runnable> onPlayingProperty()
Обработчик события, вызываемый, когда статус меняется на PLAYING.
ObjectProperty<Runnable> onReadyProperty()
Обработчик события, вызываемый, когда статус меняется на READY.
ObjectProperty<Runnable> onRepeatProperty()
Обработчик события, вызываемый, когда плеер currentTime достигает stopTime и будет повторяться.
ObjectProperty<Runnable> onStalledProperty()
Обработчик события, вызываемый, когда статус меняется на STALLED.
ObjectProperty<Runnable> onStoppedProperty()
Обработчик события, вызываемый, когда статус меняется на STOPPED.
void pause()
Приостанавливает плеер.
void play()
Начинает воспроизведение медиа.
DoubleProperty rateProperty()
Скорость воспроизведения медиа.
void seek​(Duration seekTime)
Перемещает плеер к новому времени воспроизведения.
void setAudioSpectrumInterval​(double value)
Устанавливает интервал уведомления о спектре аудио в секундах.
void setAudioSpectrumListener​(AudioSpectrumListener listener)
Устанавливает слушателя спектра аудио.
void setAudioSpectrumNumBands​(int value)
Устанавливает количество полос в спектре аудио.
void setAudioSpectrumThreshold​(int value)
Устанавливает порог спектра аудио в децибелах.
void setAutoPlay​(boolean value)
Устанавливает значение свойства autoPlay.
void setBalance​(double value)
Устанавливает баланс аудио.
void setCycleCount​(int value)
Устанавливает количество циклов.
void setMute​(boolean value)
Устанавливает значение muteProperty().
void setOnEndOfMedia​(Runnable value)
Устанавливает обработчик события окончания медиа.
void setOnError​(Runnable value)
Устанавливает обработчик события, вызываемый при возникновении ошибки.
void setOnHalted​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.HALTED.
void setOnMarker​(EventHandler<MediaMarkerEvent> onMarker)
Устанавливает обработчик события метки.
void setOnPaused​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.PAUSED.
void setOnPlaying​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.PLAYING.
void setOnReady​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.READY.
void setOnRepeat​(Runnable value)
Устанавливает обработчик события повтора.
void setOnStalled​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.STALLED.
void setOnStopped​(Runnable value)
Устанавливает обработчик события MediaPlayer.Status.STOPPED.
void setRate​(double value)
Устанавливает скорость воспроизведения на указанное значение.
void setStartTime​(Duration value)
Устанавливает начальное время.
void setStopTime​(Duration value)
Устанавливает конечное время.
void setVolume​(double value)
Устанавливает громкость звука при воспроизведении.
ObjectProperty<Duration> startTimeProperty()
Смещение времени, с которого должно начаться воспроизведение медиа, или с которого следует начать при повторе.
ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty()
Текущее состояние проигрывателя медиа.
void stop()
Останавливает воспроизведение медиа.
ObjectProperty<Duration> stopTimeProperty()
Смещение во времени, где медиа должно остановиться или перезапуститься при повторении.
ReadOnlyObjectProperty<Duration> totalDurationProperty()
Общее время воспроизведения, если разрешено воспроизведение до конца.
DoubleProperty volumeProperty()
Уровень громкости, с которым должна воспроизводиться медиа.

Методы, объявленные в классе java.lang.Object

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

Подробности свойства

ошибка

public ReadOnlyObjectProperty<MediaException> errorProperty
Наблюдаемое свойство, устанавливаемое в MediaException, если произошла ошибка.
См. также:
getError()

обработчикОшибки

public ObjectProperty<Runnable> onErrorProperty
Обработчик событий, вызываемый при возникновении ошибки.
См. также:
getOnError(), setOnError(Runnable)

автовоспроизведение

public BooleanProperty autoPlayProperty
Указывает, нужно ли начать воспроизведение как можно скорее. Для нового плеера это произойдёт, как только плеер достигнет состояния READY. Значение по умолчанию — false.
См. также:
isAutoPlay(), setAutoPlay(boolean)

скорость

public DoubleProperty rateProperty
Скорость воспроизведения медиа. Например, скорость 1.0 воспроизводит медиа со стандартной (закодированной) скоростью, 2.0 воспроизводит в два раза быстрее стандартной и т. д. Текущий поддерживаемый диапазон скоростей — [0.0, 8.0]. Значение по умолчанию — 1.0.
См. также:
getRate(), setRate(double)

текущаяСкорость

public ReadOnlyDoubleProperty currentRateProperty
Текущая скорость воспроизведения независимо от настроек. Например, если rate установлено в 1,0, и плеер приостановлен или заблокирован, то currentRate будет равно нулю.
См. также:
getCurrentRate()

громкость

public DoubleProperty volumeProperty
Громкость воспроизведения медиа. Диапазон эффективных значений — [0.0 1.0], где 0.0 — не слышно, а 1.0 — полная громкость, которая является значением по умолчанию.
См. также:
getVolume(), setVolume(double)

баланс

public DoubleProperty balanceProperty
Баланс или настройка лево-право звукового выхода. Диапазон эффективных значений — [-1.0, 1.0], где -1.0 — полностью слева, 0.0 — по центру и 1.0 — полностью справа. Значение по умолчанию — 0.0.
См. также:
getBalance(), setBalance(double)

начальноеВремя

public ObjectProperty<Duration> startTimeProperty
Смещение времени, с которого должно начаться воспроизведение медиа или с которого должно начаться повтор. При остановке воспроизведения текущее время сбрасывается до этого значения. Если это значение положительное, то при первом воспроизведении медиа может произойти задержка, прежде чем начнется воспроизведение, если позиция воспроизведения не может быть установлена в произвольное время внутри медиа. Это может произойти, например, для видео, которое не содержит таблицы поиска смещений внутрикадровых кадров в потоке видео. В таком случае необходимо будет пропустить видеокадры, пока не будет достигнут поиск первого внутрикадрового кадра перед начальным временем. Значение по умолчанию — Duration.ZERO.

Ограничения: 0 ≤ startTime < stopTime

См. также:
getStartTime(), setStartTime(Duration)

времяОстановки

public ObjectProperty<Duration> stopTimeProperty
Смещение времени, до которого должно воспроизводиться медиа или с которого должно начаться повтор при повторении. Значение по умолчанию — getMedia().getDuration().

Ограничения: startTime < stopTime ≤ Media.duration

См. также:
getStopTime(), setStopTime(Duration)

длительностьЦикла

public ReadOnlyObjectProperty<Duration> cycleDurationProperty
Время между startTime и stopTime этого плеера. Для общей длительности медиа используйте свойство Media.duration.
См. также:
getCycleDuration()

общаяДлительность

public ReadOnlyObjectProperty<Duration> totalDurationProperty
Общее время воспроизведения, если разрешено воспроизведение до конца. Если cycleCount установлено на INDEFINITE, то это также будет БЕСКОНЕЧНО. Если длительность медиа НЕИЗВЕСТНА, то и общая длительность будет НЕИЗВЕСТНА. В противном случае общая длительность будет произведением длительностиЦикла и количестваЦиклов.
См. также:
getTotalDuration()

текущееВремя

public ReadOnlyObjectProperty<Duration> currentTimeProperty
Текущее время воспроизведения медиа. Это свойство только для чтения: используйте seek(javafx.util.Duration) для изменения позиции воспроизведения в потоке.
См. также:
getCurrentTime()

состояние

public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty
Текущее состояние MediaPlayer.
См. также:
getStatus()

времяБуферизации

public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty
Текущая позиция буферизации, указывающая, сколько медиа может быть воспроизведено без блокировки MediaPlayer. Это применимо к буферизованным потокам, таким как чтение из сетевых подключений, в отличие, например, от локальных файлов.

Поиск позиции, превышающей bufferProgressTime, может привести к небольшой паузе в воспроизведении до тех пор, пока не будет буферизовано достаточное количество данных, чтобы можно было возобновить воспроизведение.

См. также:
getBufferProgressTime()

количествоЦиклов

public IntegerProperty cycleCountProperty
Количество раз, которое медиа будет воспроизведено. По умолчанию cycleCount установлено на 1, что означает, что медиа будет воспроизведено только один раз. Установка cycleCount на значение больше 1 приведет к воспроизведению медиа заданное количество раз или до остановки. Если установлено на INDEFINITE, воспроизведение будет повторяться до тех пор, пока не будет вызван stop() или pause().

Ограничения: cycleCount ≥ 1

См. также:
getCycleCount(), setCycleCount(int)

текущееКоличество

public ReadOnlyIntegerProperty currentCountProperty
Количество завершенных циклов воспроизведения. В первом проходе значение должно быть 0. Во втором проходе значение должно быть 1 и так далее. Оно увеличивается в конце каждого цикла непосредственно перед поиском назад к startTime, т. е., когда stopTime или конец медиа достигнут.
См. также:
getCurrentCount()

немое

public BooleanProperty muteProperty
Указывает, заглушен ли звук плеера. Значение true означает, что звук не генерируется. Значение этого свойства не влияет на volume, т. е., если звук был заглушен, а затем разблокирован, воспроизведение звука возобновится на том же уровне громкости, при условии, что свойство volume не было изменено тем временем. Значение по умолчанию — false.
См. также:
isMute(), setMute(boolean)

наМаркер

public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty
Обработчик событий, вызываемый, когда плеер currentTime достигает метки медиа.
См. также:
getOnMarker(), setOnMarker(EventHandler)

конецМедиа

public ObjectProperty<Runnable> onEndOfMediaProperty
Обработчик событий, вызываемый, когда плеер currentTime достигает stopTime.
См. также:
getOnEndOfMedia(), setOnEndOfMedia(Runnable)

готово

public ObjectProperty<Runnable> onReadyProperty
Обработчик событий, вызываемый при изменении состояния на READY.
См. также:
getOnReady(), setOnReady(Runnable)

воспроизведение

public ObjectProperty<Runnable> onPlayingProperty
Обработчик событий, вызываемый при изменении состояния на PLAYING.
См. также:
getOnPlaying(), setOnPlaying(Runnable)

приостановлено

public ObjectProperty<Runnable> onPausedProperty
Обработчик событий, вызываемый при изменении состояния на PAUSED.
См. также:
getOnPaused(), setOnPaused(Runnable)

onStopped

public ObjectProperty<Runnable> onStoppedProperty
Обработчик событий, вызываемый при изменении состояния на STOPPED.
См. также:
getOnStopped(), setOnStopped(Runnable)

onHalted

public ObjectProperty<Runnable> onHaltedProperty
Обработчик событий, вызываемый при изменении состояния на HALTED.
См. также:
getOnHalted(), setOnHalted(Runnable)

onRepeat

public ObjectProperty<Runnable> onRepeatProperty
Обработчик событий, вызываемый, когда игрок currentTime достигает stopTime и будет повторяться. Этот вызов происходит перед возвращением к startTime.
См. также:
getOnRepeat(), setOnRepeat(Runnable)

onStalled

public ObjectProperty<Runnable> onStalledProperty
Обработчик событий, вызываемый при изменении состояния на STALLED.
См. также:
getOnStalled(), setOnStalled(Runnable)

audioSpectrumNumBands

public IntegerProperty audioSpectrumNumBandsProperty
Количество полос в спектре аудиосигнала. Значение по умолчанию — 128, минимум — 2. Диапазон частот аудиосигнала делится на указанное количество частотных интервалов. Например, типичный цифровой музыкальный сигнал имеет диапазон частот [0.0, 22050] Гц. Если количество полос спектра в этом случае установить на 10, ширина каждого частотного интервала в спектре составит 2205 Гц, а нижняя граница самого низкого частотного интервала будет равна 0.0.
См. также:
getAudioSpectrumNumBands(), setAudioSpectrumNumBands(int)

audioSpectrumInterval

public DoubleProperty audioSpectrumIntervalProperty
Интервал между обновлениями спектра в секундах. По умолчанию — 0.1 секунды.
См. также:
getAudioSpectrumInterval(), setAudioSpectrumInterval(double)

audioSpectrumThreshold

public IntegerProperty audioSpectrumThresholdProperty
Пороговое значение чувствительности в децибелах; должно быть неположительным. Значения ниже этого порога относительно пиковой частоты в заданной полосе спектра будут установлены в значение порога. Значение по умолчанию — -60 дБ.
См. также:
getAudioSpectrumThreshold(), setAudioSpectrumThreshold(int)

audioSpectrumListener

public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty
Слушатель обновлений спектра аудиосигнала. При регистрации слушателя вычисление спектра аудиосигнала включается; при удалении слушателя вычисление отключается. Может быть зарегистрирован только один слушатель, поэтому, если требуется несколько наблюдателей, события должны быть перенаправлены.

Например, слушатель может быть полезен для построения частотного спектра воспроизводимого аудио или для генерации волновых форм для визуализатора музыки.

См. также:
getAudioSpectrumListener(), setAudioSpectrumListener(AudioSpectrumListener)

Подробное описание полей

INDEFINITE

public static final int INDEFINITE
Значение, представляющее бесконечное число циклов воспроизведения. При установке cycleCount в это значение игрок будет повторять Media, пока не будет остановлен или приостановлен.
См. также:
Значения константных полей

Подробное описание конструкторов

MediaPlayer

public MediaPlayer(Media media)
Создает плеер для определённого медиа. Это единственный способ связать объект Media с объектом MediaPlayer: после создания плеер изменить нельзя. Синхронные ошибки, возникающие во время создания, вызовут исключения. Асинхронные ошибки приведут к установке свойства error и, как следствие, вызову любого обработчика событий onError.

При создании состояние status плеера будет MediaPlayer.Status.UNKNOWN. После того, как status перейдёт в состояние MediaPlayer.Status.READY, плеер будет готов к использованию. Время между созданием плеера и переходом в состояние READY может варьироваться, например, в зависимости от того, загружается ли медиа из сети или локальной файловой системы.

Параметры:
media - Медиа для воспроизведения.
Исключения:
NullPointerException - если медиа null.
MediaException - если возникают какие-либо синхронные ошибки во время создания.

Подробное описание методов

getAudioEqualizer

public final AudioEqualizer getAudioEqualizer()
Возвращает AudioEqualizer, связанный с этим плеером.
Возвращает:
связанный AudioEqualizer или null, если плеер утилизирован.

getError

public final MediaException getError()
Возвращает значение свойства error или null, если ошибки нет.
Возвращает:
объект MediaException или null.

errorProperty

public ReadOnlyObjectProperty<MediaException> errorProperty()
Свойство, наблюдаемое за значением, которое устанавливается в MediaException при возникновении ошибки.
См. также:
getError()

setOnError

public final void setOnError(Runnable value)
Устанавливает обработчик событий, который вызывается при возникновении ошибки.
Параметры:
value - обработчик событий или null.

getOnError

public final Runnable getOnError()
Возвращает обработчик событий для ошибок.
Возвращает:
обработчик событий.

onErrorProperty

public ObjectProperty<Runnable> onErrorProperty()
Обработчик событий, вызываемый при возникновении ошибки.
См. также:
getOnError(), setOnError(Runnable)

getMedia

public final Media getMedia()
Возвращает объект Media, который воспроизводится.
Возвращает:
объект Media.

setAutoPlay

public final void setAutoPlay(boolean value)
Устанавливает значение свойства autoPlay.
Параметры:
value - нужно ли включить автоматическое воспроизведение

isAutoPlay

public final boolean isAutoPlay()
Возвращает значение свойства autoPlay.
Возвращает:
значение.

autoPlayProperty

public BooleanProperty autoPlayProperty()
Определяет, должно ли воспроизведение начаться как можно скорее. Для нового плеера это произойдёт, как только плеер достигнет состояния READY. Значение по умолчанию — false.
См. также:
isAutoPlay(), setAutoPlay(boolean)

play

public void play()
Начинает воспроизведение медиа. Если ранее воспроизведение было приостановлено, то оно возобновляется с точки приостановки. Если воспроизведение было остановлено, воспроизведение начинается с startTime. При фактическом начале воспроизведения status устанавливается в MediaPlayer.Status.PLAYING.

pause

public void pause()
Приостанавливает плеер. После фактической приостановки плеера status устанавливается в MediaPlayer.Status.PAUSED.

stop

public void stop()
Останавливает воспроизведение медиа. Данная операция сбрасывает воспроизведение до startTime и сбрасывает currentCount до нуля. После фактической остановки плеера свойство status будет установлено в значение MediaPlayer.Status.STOPPED. Единственными переходами из состояния STOPPED являются MediaPlayer.Status.PAUSED и MediaPlayer.Status.PLAYING, которые происходят после вызова pause() или play() соответственно. Во время остановки плеер не будет реагировать на изменения позиции воспроизведения, запрошенные методом seek(javafx.util.Duration).

setRate

public final void setRate(double value)
Устанавливает скорость воспроизведения в указанное значение. Его эффект будет ограничен диапазоном [0.0, 8.0]. Вызов этого метода не окажет никакого влияния, если продолжительность медиа Duration.INDEFINITE.
Parameters:
value - скорость воспроизведения

getRate

public final double getRate()
Возвращает скорость воспроизведения.
Returns:
скорость воспроизведения

rateProperty

public DoubleProperty rateProperty()
Скорость воспроизведения медиа. Например, скорость 1.0 воспроизводит медиа с его нормальной (закодированной) скоростью воспроизведения, 2.0 воспроизводит в два раза быстрее нормальной скорости и т. д. В настоящее время поддерживаемый диапазон скоростей [0.0, 8.0]. Значение по умолчанию 1.0.
See Also:
getRate(), setRate(double)

getCurrentRate

public final double getCurrentRate()
Возвращает текущую скорость воспроизведения.
Returns:
текущая скорость

currentRateProperty

public ReadOnlyDoubleProperty currentRateProperty()
Текущая скорость воспроизведения независимо от настроек. Например, если rate установлена в 1.0, и плеер приостановлен или заблокирован, тогда currentRate будет равна нулю.
See Also:
getCurrentRate()

setVolume

public final void setVolume(double value)
Устанавливает громкость звука при воспроизведении. Его эффект будет ограничен диапазоном [0.0, 1.0].
Parameters:
value - громкость

getVolume

public final double getVolume()
Возвращает громкость звука при воспроизведении. Значение по умолчанию 1.0.
Returns:
громкость звука

volumeProperty

public DoubleProperty volumeProperty()
Громкость воспроизведения медиа. Диапазон эффективных значений [0.0 1.0], где 0.0 — не слышно, а 1.0 — полная громкость, которая является значением по умолчанию.
See Also:
getVolume(), setVolume(double)

setBalance

public final void setBalance(double value)
Устанавливает баланс звука. Его эффект будет ограничен диапазоном [-1.0, 1.0].
Parameters:
value - баланс

getBalance

public final double getBalance()
Возвращает баланс звука.
Returns:
баланс звука

balanceProperty

public DoubleProperty balanceProperty()
Баланс или настройка лево-право звука. Диапазон эффективных значений [-1.0, 1.0], где -1.0 — полностью слева, 0.0 — по центру, а 1.0 — полностью справа. Значение по умолчанию 0.0.
See Also:
getBalance(), setBalance(double)

setStartTime

public final void setStartTime(Duration value)
Устанавливает начальное время. Его эффект будет ограничен диапазоном [Duration.ZERO, stopTime). Вызов этого метода не окажет никакого влияния, если продолжительность медиа Duration.INDEFINITE.
Parameters:
value - начальное время

getStartTime

public final Duration getStartTime()
Возвращает начальное время. Значение по умолчанию Duration.ZERO.
Returns:
начальное время

startTimeProperty

public ObjectProperty<Duration> startTimeProperty()
Смещение времени, с которого должно начинаться воспроизведение медиа или с которого должно происходить повтор. При остановке воспроизведения текущее время сбрасывается до этого значения. Если это значение положительное, то в первый раз при воспроизведении может возникнуть задержка перед началом воспроизведения, если позиция воспроизведения не может быть установлена в произвольное время внутри медиа. Это может произойти, например, для видео, которое не содержит таблицы поиска смещений внутрикадровых кадров в потоке видео. В таком случае потребуется пропустить кадры видео до тех пор, пока не будет достигнут позиция первого внутрикадрового кадра перед начальным временем. Значение по умолчанию Duration.ZERO.

Ограничения: 0 ≤ startTime < stopTime

See Also:
getStartTime(), setStartTime(Duration)

setStopTime

public final void setStopTime(Duration value)
Устанавливает время остановки. Его эффект будет ограничен диапазоном (startTime, Media.duration]. Вызов этого метода не окажет никакого влияния, если продолжительность медиа Duration.INDEFINITE.
Parameters:
value - время остановки

getStopTime

public final Duration getStopTime()
Возвращает время остановки. Значение по умолчанию getMedia().getDuration(). Обратите внимание, что Media.duration может иметь значение Duration.UNKNOWN, если инициализация медиа не завершена.
Returns:
время остановки

stopTimeProperty

public ObjectProperty<Duration> stopTimeProperty()
Смещение времени, по которому должно заканчиваться воспроизведение медиа или с которого должен происходить повтор при повторении. Значение по умолчанию getMedia().getDuration().

Ограничения: startTime < stopTime ≤ Media.duration

See Also:
getStopTime(), setStopTime(Duration)

getCycleDuration

public final Duration getCycleDuration()
Возвращает продолжительность цикла в секундах.
Returns:
продолжительность цикла

cycleDurationProperty

public ReadOnlyObjectProperty<Duration> cycleDurationProperty()
Длительность времени между startTime и stopTime этого плеера. Для общей продолжительности медиа используйте свойство Media.duration.
See Also:
getCycleDuration()

getTotalDuration

public final Duration getTotalDuration()
Возвращает общую продолжительность воспроизведения, включая все циклы (повторения).
Returns:
общая продолжительность воспроизведения

totalDurationProperty

public ReadOnlyObjectProperty<Duration> totalDurationProperty()
Общее время воспроизведения, если разрешено воспроизводить до конца. Если cycleCount установлено в INDEFINITE, то это также будет INDEFINITE. Если продолжительность медиа UNKNOWN, то и это будет UNKNOWN. В противном случае общая продолжительность будет произведением cycleDuration и cycleCount.
See Also:
getTotalDuration()

getCurrentTime

public final Duration getCurrentTime()
Возвращает текущее время медиа.
Returns:
текущее время медиа

currentTimeProperty

public ReadOnlyObjectProperty<Duration> currentTimeProperty()
Текущее время воспроизведения медиа. Это свойство является только для чтения: используйте seek(javafx.util.Duration) для изменения позиции воспроизведения в другом потоке.
See Also:
getCurrentTime()

Переход

public void seek(Duration seekTime)
Перемещает воспроизведение плеера к новому времени воспроизведения. Вызов этого метода не повлияет на статус плеера, который равен MediaPlayer.Status.STOPPED, или продолжительность медиа Duration.INDEFINITE.

Поведение seek() ограничено следующим образом, где начальное время и конечное время указывают на эффективные нижнюю и верхнюю границы воспроизведения медиа, соответственно:

Таблица перехода MediaPlayer
seekTime Позиция перехода
null без изменений
Duration.UNKNOWN без изменений
Duration.INDEFINITE конечное время
seekTime < начальное время начальное время
seekTime > конечное время конечное время
начальное время ≤ seekTime ≤ конечное время seekTime
Параметры:
seekTime - запрашиваемое время воспроизведения

getStatus

public final MediaPlayer.Status getStatus()
Возвращает текущий статус плеера.
Возвращает:
статус воспроизведения

statusProperty

public ReadOnlyObjectProperty<MediaPlayer.Status> statusProperty()
Текущее состояние MediaPlayer.
См. также:
getStatus()

getBufferProgressTime

public final Duration getBufferProgressTime()
Возвращает значение bufferProgressTime.
Возвращает:
время прогресса буфера

bufferProgressTimeProperty

public ReadOnlyObjectProperty<Duration> bufferProgressTimeProperty()
Текущая позиция буфера, показывающая, сколько медиа можно воспроизвести без остановок MediaPlayer. Это применимо к буферизованным потокам, таким как те, которые считываются из сетевых подключений, в отличие, например, от локальных файлов.

Переход к позиции за bufferProgressTime может вызвать небольшую паузу во время воспроизведения до тех пор, пока не будет буферизовано достаточное количество данных, чтобы возобновить воспроизведение.

См. также:
getBufferProgressTime()

setCycleCount

public final void setCycleCount(int value)
Устанавливает счетчик циклов. Его действие будет ограничено [1,Integer.MAX_VALUE]. Вызов этого метода не повлияет, если продолжительность медиа равна Duration.INDEFINITE.
Параметры:
value - счетчик циклов

getCycleCount

public final int getCycleCount()
Возвращает счетчик циклов.
Возвращает:
счетчик циклов.

cycleCountProperty

public IntegerProperty cycleCountProperty()
Количество раз, которое медиа будет воспроизведено. По умолчанию, cycleCount установлено на 1, что означает, что медиа будет воспроизведено только один раз. Установка cycleCount на значение больше 1 приведет к воспроизведению медиа указанное количество раз или до остановки. Если установлено в INDEFINITE, воспроизведение будет повторяться до тех пор, пока не будет вызван stop() или pause().

ограничения: cycleCount ≥ 1

См. также:
getCycleCount(), setCycleCount(int)

getCurrentCount

public final int getCurrentCount()
Возвращает индекс текущего цикла.
Возвращает:
индекс текущего цикла

currentCountProperty

public ReadOnlyIntegerProperty currentCountProperty()
Количество завершенных циклов воспроизведения. В первом проходе значение должно быть 0. Во втором проходе значение должно быть 1 и так далее. Оно увеличивается в конце каждого цикла перед возвратом к startTime, т.е., когда stopTime или конец медиа достигнут.
См. также:
getCurrentCount()

setMute

public final void setMute(boolean value)
Устанавливает значение muteProperty().
Параметры:
value - значение отключения звука

isMute

public final boolean isMute()
Возвращает значение muteProperty().
Возвращает:
значение отключения звука

muteProperty

public BooleanProperty muteProperty()
Указывает, заглушен ли звук плеера. Значение true означает, что звук не воспроизводится. Значение этого свойства не влияет на volume, т.е., если звук заглушен, а затем разблокирован, воспроизведение звука возобновится на том же уровне громкости, при условии, что volume свойство не было изменено в это время. Значение по умолчанию - false.
См. также:
isMute(), setMute(boolean)

setOnMarker

public final void setOnMarker(EventHandler<MediaMarkerEvent> onMarker)
Устанавливает обработчик событий маркеров.
Параметры:
onMarker - обработчик событий маркеров.

getOnMarker

public final EventHandler<MediaMarkerEvent> getOnMarker()
Возвращает обработчик событий маркеров.
Возвращает:
обработчик событий маркеров.

onMarkerProperty

public ObjectProperty<EventHandler<MediaMarkerEvent>> onMarkerProperty()
Обработчик событий, вызываемый, когда плеер currentTime достигает маркера медиа.
См. также:
getOnMarker(), setOnMarker(EventHandler)

setOnEndOfMedia

public final void setOnEndOfMedia(Runnable value)
Устанавливает обработчик событий конца медиа.
Параметры:
value - обработчик событий или null.

getOnEndOfMedia

public final Runnable getOnEndOfMedia()
Возвращает обработчик событий конца медиа.
Возвращает:
обработчик событий или null.

onEndOfMediaProperty

public ObjectProperty<Runnable> onEndOfMediaProperty()
Обработчик событий, вызываемый, когда плеер currentTime достигает stopTime.
См. также:
getOnEndOfMedia(), setOnEndOfMedia(Runnable)

setOnReady

public final void setOnReady(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.READY.
Параметры:
value - обработчик событий или null.

getOnReady

public final Runnable getOnReady()
Возвращает обработчик событий MediaPlayer.Status.READY.
Возвращает:
обработчик событий или null.

onReadyProperty

public ObjectProperty<Runnable> onReadyProperty()
Обработчик событий, вызываемый, когда статус изменяется на READY.
См. также:
getOnReady(), setOnReady(Runnable)

setOnPlaying

public final void setOnPlaying(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.PLAYING.
Параметры:
value - обработчик событий или null.

getOnPlaying

public final Runnable getOnPlaying()
Возвращает обработчик событий MediaPlayer.Status.PLAYING.
Возвращает:
обработчик событий или null.

onPlayingProperty

public ObjectProperty<Runnable> onPlayingProperty()
Обработчик событий, вызываемый, когда статус изменяется на PLAYING.
См. также:
getOnPlaying(), setOnPlaying(Runnable)

setOnPaused

public final void setOnPaused(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.PAUSED.
Параметры:
value - обработчик событий или null.

getOnPaused

public final Runnable getOnPaused()
Возвращает обработчик событий MediaPlayer.Status.PAUSED.
Возвращает:
обработчик событий или null.

onPausedProperty

public ObjectProperty<Runnable> onPausedProperty()
Обработчик событий, вызываемый, когда состояние изменяется на PAUSED.
См. также:
getOnPaused(), setOnPaused(Runnable)

setOnStopped

public final void setOnStopped(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.STOPPED.
Параметры:
value - обработчик событий или null.

getOnStopped

public final Runnable getOnStopped()
Возвращает обработчик событий MediaPlayer.Status.STOPPED.
Возвращает:
обработчик событий или null.

onStoppedProperty

public ObjectProperty<Runnable> onStoppedProperty()
Обработчик событий, вызываемый, когда состояние изменяется на STOPPED.
См. также:
getOnStopped(), setOnStopped(Runnable)

setOnHalted

public final void setOnHalted(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.HALTED.
Параметры:
value - обработчик событий или null.

getOnHalted

public final Runnable getOnHalted()
Возвращает обработчик событий MediaPlayer.Status.HALTED.
Возвращает:
обработчик событий или null.

onHaltedProperty

public ObjectProperty<Runnable> onHaltedProperty()
Обработчик событий, вызываемый, когда состояние изменяется на HALTED.
См. также:
getOnHalted(), setOnHalted(Runnable)

setOnRepeat

public final void setOnRepeat(Runnable value)
Устанавливает обработчик событий повтора.
Параметры:
value - обработчик событий или null.

getOnRepeat

public final Runnable getOnRepeat()
Возвращает обработчик событий повтора.
Возвращает:
обработчик событий или null.

onRepeatProperty

public ObjectProperty<Runnable> onRepeatProperty()
Обработчик событий, вызываемый, когда проигрыватель currentTime достигает stopTime и будет повторяться. Этот обратный вызов выполняется перед возвратом к startTime.
См. также:
getOnRepeat(), setOnRepeat(Runnable)

setOnStalled

public final void setOnStalled(Runnable value)
Устанавливает обработчик событий MediaPlayer.Status.STALLED.
Параметры:
value - обработчик событий или null.

getOnStalled

public final Runnable getOnStalled()
Возвращает обработчик событий MediaPlayer.Status.STALLED.
Возвращает:
обработчик событий или null.

onStalledProperty

public ObjectProperty<Runnable> onStalledProperty()
Обработчик событий, вызываемый, когда состояние изменяется на STALLED.
См. также:
getOnStalled(), setOnStalled(Runnable)

setAudioSpectrumNumBands

public final void setAudioSpectrumNumBands(int value)
Устанавливает количество полос в спектре аудио.
Параметры:
value - количество полос спектра; valueдолжно быть ≥ 2

getAudioSpectrumNumBands

public final int getAudioSpectrumNumBands()
Возвращает количество полос в спектре аудио.
Возвращает:
количество полос спектра.

audioSpectrumNumBandsProperty

public IntegerProperty audioSpectrumNumBandsProperty()
Количество полос в спектре аудио. Значение по умолчанию — 128; минимум — 2. Диапазон частот аудиосигнала будет разделен на указанное количество частотных интервалов. Например, типичный цифровой музыкальный сигнал имеет диапазон частот [0.0, 22050] Гц. Если в этом случае количество полос спектра будет установлено на 10, ширина каждого частотного интервала в спектре составит 2205 Гц, а нижняя граница самой низкой частотной полосы будет равна 0.0.
См. также:
getAudioSpectrumNumBands(), setAudioSpectrumNumBands(int)

setAudioSpectrumInterval

public final void setAudioSpectrumInterval(double value)
Устанавливает значение интервала уведомления о спектре аудио в секундах.
Параметры:
value - положительное значение, определяющее интервал обновления спектра

getAudioSpectrumInterval

public final double getAudioSpectrumInterval()
Возвращает значение интервала уведомления о спектре аудио в секундах.
Возвращает:
интервал обновления спектра

audioSpectrumIntervalProperty

public DoubleProperty audioSpectrumIntervalProperty()
Интервал между обновлениями спектра в секундах. Значение по умолчанию — 0.1 секунды.
См. также:
getAudioSpectrumInterval(), setAudioSpectrumInterval(double)

setAudioSpectrumThreshold

public final void setAudioSpectrumThreshold(int value)
Устанавливает порог спектра аудио в децибелах.
Параметры:
value - порог спектра в дБ; должен быть ≤ 0.

getAudioSpectrumThreshold

public final int getAudioSpectrumThreshold()
Возвращает порог спектра аудио в децибелах.
Возвращает:
порог спектра в дБ

audioSpectrumThresholdProperty

public IntegerProperty audioSpectrumThresholdProperty()
Пороговое значение чувствительности в децибелах; должно быть неположительным. Значения ниже этого порога относительно пиковой частоты в заданной полосе спектра будут установлены в значение порога. Значение по умолчанию — -60 дБ.
См. также:
getAudioSpectrumThreshold(), setAudioSpectrumThreshold(int)

setAudioSpectrumListener

public final void setAudioSpectrumListener(AudioSpectrumListener listener)
Устанавливает слушателя спектра аудио.
Параметры:
listener - слушатель спектра или null.

getAudioSpectrumListener

public final AudioSpectrumListener getAudioSpectrumListener()
Возвращает слушателя спектра аудио.
Возвращает:
слушатель спектра или null

audioSpectrumListenerProperty

public ObjectProperty<AudioSpectrumListener> audioSpectrumListenerProperty()
Слушатель обновлений спектра аудио. При регистрации слушателя вычисление спектра аудио включается; при удалении слушателя вычисление отключается. Может быть зарегистрирован только один слушатель, поэтому, если требуется несколько наблюдателей, события должны быть перенаправлены.

Слушатель может быть полезен, например, для построения частотного спектра воспроизводимого аудио или для генерации волновых форм для визуализатора музыки.

См. также:
getAudioSpectrumListener(), setAudioSpectrumListener(AudioSpectrumListener)

dispose

public void dispose()
Освобождает все ресурсы, связанные с проигрывателем. Проигрыватель НЕ должен использоваться после вызова этой функции. Проигрыватель перейдет в состояние MediaPlayer.Status.DISPOSED после завершения этого метода. Этот метод можно вызвать в любое время независимо от текущего состояния проигрывателя.
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API