В игре, над которой мы сейчас работаем, мы просто использовали свойство volume MediaPlayer.Мы помещаем 0.3
в фоновую тему и 0.8
или 1
в эффекты, так как они должны быть выше, чем фоновая тема.Проверьте это, посмотрите, как это работает лучше всего, используя currentSong.setVolume("0 to 1");
.Что касается использования ползунка, почему бы просто не использовать setOnEndOfMedia
для зацикливания песни.При этом громкость не должна меняться.Это работает только в том случае, если вы, конечно, делаете только одну и ту же песню
currentSong.setOnEndOfMedia(() -> {
currentSong.seek(Duration.ZERO);
currentSong.play();
});
Если нет, я бы добавил make currentSong static
, а затем получил бы к нему доступ "YourMediaClass.currentSong.setVolume("slider.getSliderValue or whatever you use")
.Это, вероятно, то, что вы ищете.