У меня есть следующий код:
//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 медиаплееров одновременно?