使用setOnReady随机占用媒体文件时间会停止执行

时间:2019-01-09 17:50:20

标签: java media-player

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()内部执行任何代码行。

0 个答案:

没有答案