Я пытаюсь создать простой mp3-плеер в javafx, но звук не воспроизводится, пока я не вызову метод seek () для экземпляра MediaPlayer.
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
private MediaPlayer mediaPlayer;
@Override
public void start(Stage stage) throws Exception {
Media media = new Media(getClass().getResource("/test.mp3").toURI().toString());
mediaPlayer = new MediaPlayer(media);
mediaPlayer.statusProperty().addListener((observable, oldValue, newValue) -> {
System.out.println(newValue);
if(newValue == MediaPlayer.Status.READY) {
mediaPlayer.setAutoPlay(true);
mediaPlayer.play();
}
});
}
}
Вывод на консоль:
READY
PLAYING
но проигрыватель не начинает воспроизводить аудио.Когда я добавляю другой метод if с методом seek (), начинается воспроизведение.
mediaPlayer.statusProperty().addListener((observable, oldValue, newValue) -> {
System.out.println(newValue);
if(newValue == MediaPlayer.Status.READY) {
mediaPlayer.setAutoPlay(true);
mediaPlayer.play();
} else if(newValue == MediaPlayer.Status.PLAYING) {
mediaPlayer.seek(Duration.ONE);
}
});
Это ошибка в JavaFX или я что-то упустил?Я использую JDK11, принять сборку с openjfx на Mac.