Witam mam problem a mianowicie nie mogę sobie poradzić z odtwarzaniem plików które zaznaczam na listview, tzn pliki się odtwarzają tylko nie mogę ich zapauzować ,zastopować, chyba ze na sztywno wpisze w mp3 lokalizacje pliku to wtedy wszystko smiga. Mógł by mi ktoś coś doradzić aby listview działał jako playlista??.


public class MainController {

    @FXML
    private Slider changeVolume;
    @FXML
    public ListView listView;

    String mp3 = "lokalizacja pliku";  //mainController.listView.getSelectionModel().getSelectedItem().toString();
    Media hit = new Media(new File(mp3).toURI().toString());
    MediaPlayer mediaPlayer = new MediaPlayer(hit);

    public void initialize() {
        changeVolume.setValue(mediaPlayer.getVolume() * 100);
        changeVolume.valueProperty().addListener(new InvalidationListener() {
            @Override
            public void invalidated(Observable observable) {
                mediaPlayer.setVolume(changeVolume.getValue() / 100);
            }
        });
    }

    @FXML
    public void playButton() {
        if (listView.getSelectionModel().getSelectedItem() != null) {
            mediaPlayer.play();
            System.out.println(mp3);
        } else
            System.out.println("zaznacz");
    }

    @FXML
    public void pauseButton() {
        mediaPlayer.pause();
    }

    @FXML
    public void stopButton() {
        mediaPlayer.stop();
    }

    public void setListView(File directory) {
        File folder = new File(String.valueOf(directory));
        File[] listOfFiles = folder.listFiles();
        ObservableList<File> data = FXCollections.observableArrayList(listOfFiles);
        for (File file : listOfFiles)
            listView.setItems(data);
    }


    public void chooseDirectory() {
        Stage primaryStage = null;
        DirectoryChooser directoryChooser = new DirectoryChooser();
        File selectedDirectory = directoryChooser.showDialog(new Stage());
        setListView(selectedDirectory);
    }


    public void playMouse(MouseEvent mouseEvent) {
        if (mouseEvent.getClickCount() == 2) {
            String mp3 = listView.getSelectionModel().getSelectedItem().toString();
            Media hit = new Media(new File(mp3).toURI().toString());
            MediaPlayer mediaPlayer = new MediaPlayer(hit);

            try {
                mediaPlayer.play();
                System.out.println(mp3);
            } catch (Exception ex) {
            }
        }


    }


}