diff --git a/src/ihm/Musique.java b/src/ihm/Musique.java index 89880e5..2490cd6 100644 --- a/src/ihm/Musique.java +++ b/src/ihm/Musique.java @@ -14,7 +14,7 @@ public class Musique { public static long clipTimePosition = 0; public static boolean musiqueEnCours = false; - static FloatControl volume ; + public static FloatControl volume ; public static void playMusique(InputStream path) { @@ -61,5 +61,14 @@ public class Musique { public static void volumeDown(Float valeur) { volume.setValue(volume.getValue() -valeur); } + + public static void setVolume(Float fValeur) { + volume.setValue(fValeur); + } + + public static void setVolume(double dValeur) { + float decibel = (float) (Math.log(dValeur) / Math.log(10) * 20); + volume.setValue(decibel); + } } diff --git a/src/ihm/controller/ParametreController.java b/src/ihm/controller/ParametreController.java index 27bc05a..8a99886 100644 --- a/src/ihm/controller/ParametreController.java +++ b/src/ihm/controller/ParametreController.java @@ -14,6 +14,7 @@ import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.control.CheckBox; import javafx.scene.control.ComboBox; +import javafx.scene.control.Slider; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; @@ -28,9 +29,13 @@ public class ParametreController implements Initializable { private CheckBox clair; @FXML private ComboBox langues; + @FXML + private Slider sliderMusique; + public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche public static boolean cbSonCoche = false; public static boolean cbClair = false; + public static double slideValue; boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois @@ -45,10 +50,10 @@ public class ParametreController implements Initializable { @Override public void initialize(URL arg0, ResourceBundle arg1) { - cmusique.setSelected(cbMusiqueCoche); - cbEffetSonore.setSelected(cbSonCoche); - clair.setSelected(cbClair); - + cmusique.setSelected(cbMusiqueCoche); + cbEffetSonore.setSelected(cbSonCoche); + clair.setSelected(cbClair); + sliderMusique.setValue(slideValue); langues.getItems().add("Anglais"); @@ -74,6 +79,7 @@ public class ParametreController implements Initializable { } else if (Musique.musiqueEnCours != true) { Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret + Musique.musiqueEnCours = true; } } else { @@ -150,6 +156,16 @@ public class ParametreController implements Initializable { } + @FXML + public void slideVolumeMusique(MouseEvent mouseEvent) throws IOException{ + + if(Musique.musiqueEnCours == true) { + Musique.setVolume(sliderMusique.getValue()); + slideValue = sliderMusique.getValue(); + + } + /* + @FXML public void monterVolume(MouseEvent mouseEvent) throws IOException{ Musique.volumeUp(5.f); @@ -161,5 +177,10 @@ public class ParametreController implements Initializable { Musique.volumeDown(5.f); System.out.println("on baisse le son"); } + */ + + + + } } diff --git a/src/ihm/controller/PauseController.java b/src/ihm/controller/PauseController.java index 51cb9c4..6d7fc2a 100644 --- a/src/ihm/controller/PauseController.java +++ b/src/ihm/controller/PauseController.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Locale; -import java.util.Map; import java.util.ResourceBundle; import ihm.EffetSonore; @@ -13,33 +12,34 @@ import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Node; -import javafx.scene.Scene; import javafx.scene.control.CheckBox; +import javafx.scene.control.Slider; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; import main.GestionnaireJeu; -import main.Joueur; public class PauseController implements Initializable { @FXML private CheckBox cbMusique; @FXML private CheckBox cbEffet; + @FXML + private Slider sliderMusiquePause; String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"; InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav"); boolean MusiqueLancee = ParametreController.cbMusiqueCoche; boolean SonLance = ParametreController.cbSonCoche; + public static double slideValuePause; @Override public void initialize(URL arg0, ResourceBundle arg1) { cbMusique.setSelected(ParametreController.cbMusiqueCoche); cbEffet.setSelected(ParametreController.cbSonCoche); - - + sliderMusiquePause.setValue(ParametreController.slideValue); } @FXML @@ -56,11 +56,12 @@ public class PauseController implements Initializable { Musique.playMusique(fileMusique); Musique.musiqueEnCours = true; MusiqueLancee = true; - } else if (MusiqueLancee ==false && Musique.musiqueEnCours != true) { + } else if (MusiqueLancee == false && Musique.musiqueEnCours != true) { Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret + Musique.musiqueEnCours = true; } - - } else if (MusiqueLancee == true){ + + } else if (MusiqueLancee == true) { Musique.pauseMusique(Musique.clip); // met en pause la musique Musique.musiqueEnCours = false; MusiqueLancee = false; @@ -82,6 +83,7 @@ public class PauseController implements Initializable { ParametreController.cbSonCoche = cbEffet.isSelected(); ParametreController.cbMusiqueCoche = cbMusique.isSelected(); + ParametreController.slideValue = slideValuePause; EffetSonore.playSoundEffect(fileSound1); // met un bruit sur le bouton si les effets sonores sont activés @@ -99,14 +101,13 @@ public class PauseController implements Initializable { Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow(); appStage.close(); -/* final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml"); - final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH); - final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - AnchorPane root = fxmlLoader.load(); */ - - - - + /* + * final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml"); + * final ResourceBundle bundle = + * ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH); final + * FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); AnchorPane root = + * fxmlLoader.load(); + */ final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH); @@ -116,15 +117,32 @@ public class PauseController implements Initializable { } @FXML - public void monterVolume(MouseEvent mouseEvent) throws IOException{ + public void slideVolumeMusique(MouseEvent mouseEvent) throws IOException { + + if (Musique.musiqueEnCours == true) { + System.out.println("slide"); + Musique.setVolume(sliderMusiquePause.getValue()); + slideValuePause = sliderMusiquePause.getValue(); + + }else { + System.out.println("probleme"); + } + } + + /* + @FXML + public void monterVolume(MouseEvent mouseEvent) throws IOException { Musique.volumeUp(5.f); System.out.println("on monte le son"); } - + @FXML - public void baisserVolume(MouseEvent mouseEvent) throws IOException{ + public void baisserVolume(MouseEvent mouseEvent) throws IOException { Musique.volumeDown(5.f); System.out.println("on baisse le son"); } + */ + + } diff --git a/src/ihm/ressources/Pause.fxml b/src/ihm/ressources/Pause.fxml index b925919..656c8af 100644 --- a/src/ihm/ressources/Pause.fxml +++ b/src/ihm/ressources/Pause.fxml @@ -4,6 +4,7 @@ + @@ -45,28 +46,10 @@ - + - - + - - - diff --git a/src/ihm/ressources/parametre.fxml b/src/ihm/ressources/parametre.fxml index ff6bd51..7a0f892 100644 --- a/src/ihm/ressources/parametre.fxml +++ b/src/ihm/ressources/parametre.fxml @@ -5,12 +5,13 @@ + - + @@ -18,23 +19,7 @@ - - - - - - +