JavaFX: establecer el valor del control deslizante después de arrastrar el botón del mouse

Estoy escribiendo un reproductor de música y no sé cómo codificar el controlador de arrastre del control deslizante para establecer el valor después de que el usuario libere el botón del mouse. Cuando escribo el método simple MouseDragged, arrastrar produce un sonido de "rebobinado" no estético porque el reproductor de medios cambia de valor cada vez que se mueve el control deslizante. Mientras se reproduce el control deslizante, el valor de los cambios automáticos del oyente del reproductor multimedia se sincroniza con la duración de la pista. Esto es lo que llegué hasta ahora.

ChangeListener<Duration> timeListener =  new ChangeListener<Duration>() {
    @Override
    public void changed(
            ObservableValue<? extends Duration> observableValue,
            Duration duration,
            Duration current) {
        durSlider
                .setValue(current
                        .toSeconds());
    }
};

durSlider.setOnMouseDragged(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent mouseEvent) {

                    mediaPlayer.seek(Duration.seconds(durSlider.getValue()));

                    }

                });

Respuestas a la pregunta(1)

Su respuesta a la pregunta