am试图使用文件选择器以及url来获取mp4媒体文件的时间,然后将它们放在2个不同的文本字段中(使用FXML),url部分工作正常,但是我遇到了时间问题。 这是我要花时间的代码。
private void setTimeField(File selectedFile)
{
Media mediaFile = new Media(selectedFile.toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(mediaFile);
mediaPlayer.setOnReady(new Runnable()
{
@Override
public void run()
{
int timeOfVid = (int) mediaFile.getDuration().toSeconds();
txtTime.setText(model.getTimeInString(timeOfVid));
}
}
);
}
问题在于,有时它确实设置了txtTime,而其他时候没有设置,并且这样做很随意。 我意识到使用SOUT时,它甚至不会在run()内部执行任何代码行。