Javafx - Как получить правильную продолжительность медиа - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу сыграть несколько музыкальных композиций в случайном порядке, но мне нужно узнать длительность всех из них. Тем не менее, я не могу получить правильную продолжительность всех моих песен. Я следовал инструкциям этого вопроса здесь , чтобы узнать продолжительность медиа. У меня есть только песни, которые длятся 3-4 минуты, но вот что я получаю.

Вот мой код:

public static void musicDuration() {
        String fileString = "/dir/fileName.mp3";
        Media media = new Media(new File(fileString).toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setOnReady(new Runnable() {
            @Override
            public void run() {
                System.out.println("Status: "+ mediaPlayer.getStatus());
                System.out.println("Duration: "+ mediaPlayer.getTotalDuration().toMinutes());
            }
        });
    }

У меня есть такой результат: Status: READY и Duration: 1623.1918004535169, но это слишком долго. Между тем, у меня есть правильная продолжительность для одной песни, но я не могу понять, почему и что не так с моим кодом.

Любая помощь будет принята с благодарностью.

Спасибо.

...