Multithreading JavaFX Mediaplayer.setOnPlaying()线程未更新

Multithreading JavaFX Mediaplayer.setOnPlaying()线程未更新,multithreading,javafx,media-player,Multithreading,Javafx,Media Player,我正在尝试用JavaFX创建一个简单的媒体播放器。但是,我很难更新媒体首次播放时启动的线程 mediaPlayer.setOnPlaying(new Runnable() { public void run() { //status and timeStatus are both Labels with default text() //mediaLocation is a default string created from a File object statu

我正在尝试用JavaFX创建一个简单的媒体播放器。但是,我很难更新媒体首次播放时启动的线程

mediaPlayer.setOnPlaying(new Runnable() {
  public void run() {
    //status and timeStatus are both Labels with default text()
    //mediaLocation is a default string created from a File object
    status.setText("Playing: " + mediaLocation);
    timeStatus.setText("Time: " + mediaPlayer.getCurrentTime());
  }
});
当我运行此命令时,timeStatus在歌曲的持续时间内保持为“0.0毫秒”。提前感谢您的帮助

从文档中:

可以分别从currentTime、currentRate和bufferProgressTime属性获取关于回放位置、速率和缓冲的信息。媒体标记通知由注册为onMarker属性的事件处理程序接收


当状态更改为PLAYING时,onPlaying属性被调用一次,这意味着调用了play()

但是,由于onPlaying属性被调用一次,并且它会启动线程,所以在mediaplayer停止之前,线程是否应该继续更新?从而不断重置timeStatus标签的文本?