Можете ли вы иметь более 3 активных медиаплееров JavaFX? - PullRequest
1 голос
/ 18 марта 2020

У меня есть следующий код:

//Static holder to prevent mediaplayer being garbage collected
static MediaPlayer MediaPlayerHolder;

@FXML
private void PlaySong() throws IOException {
    //Load file into media player
    try {
        String Path = "SOME FILE PATH";
        Media media = new Media(Path);
        MediaPlayer mediaplayer = new MediaPlayer(media);

        //I think this is necessary to stop the mediaplayer being garbage collected??
        MediaPlayerHolder = mediaplayer;

        mediaplayer.setOnReady(() -> mediaplayer.play());

        mediaplayer.setOnEndOfMedia(() -> mediaplayer.dispose());

    } catch(Exception e){}
}

Я могу вызывать функцию столько раз, сколько захочу, но когда она вызывается в четвертый раз, первый экземпляр воспроизведения останавливается до следующего запуска. Я попытался удалить эталонный бит stati c, но затем проигрыватель останавливается примерно через 2 секунды после начала воспроизведения.

Можно ли воспроизвести более 3 медиаплееров одновременно?

...