Javafx, как настроить медиа-плейлист - PullRequest
0 голосов
/ 27 апреля 2018

Хорошо, в настоящее время я делаю игровой проект Trivial Pursuit с javafx, и моя группа хочет, чтобы я добавил аудио, проблема в том, что у меня есть метод

public static void playSoundEffect(Sound sfx) {

    Media media=null;
    try {
        media = new Media(GameAudio.class.getClassLoader().getResource(sfx.getSound()).toURI().toString());
        mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
}

Но у него есть свои проблемы, потому что если я хочу отключить все аудио, будет отключен только последний проигранный звук, а не весь проект.

Я думал о создании 2 Списка MediaPlayer (SFX и Music), который содержит каждый аудиофайл, но я не уверен, как правильно настроить это ... Моя текущая попытка была использовать Enum для константных строк, содержащих путь , Затем в каком-то классе я использую метод выше, чтобы воспроизвести звук в определенной точке. Но так как я всегда вызываю новый экземпляр mediaPlayer, у меня больше нет контроля над ним, и поэтому я так потерян.

1 Ответ

0 голосов
/ 27 апреля 2018

Как и предполагал @James_D для отключения звука, я буду использовать BooleanProperty muted и вызывать метод mediaPlayer.muteProperty().bind(muted) для каждого созданного медиаплеера.

...