Multithreading JavaFX Mediaplayer.setOnPlaying()线程未更新
我正在尝试用JavaFX创建一个简单的媒体播放器。但是,我很难更新媒体首次播放时启动的线程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
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标签的文本?