correction des problèmes liés aux effets sonores dans le menu pause

This commit is contained in:
Bastien NOEL 2020-05-04 17:54:13 +02:00
parent 54e2ae4039
commit 808712f6b6
4 changed files with 69 additions and 38 deletions

View File

@ -20,7 +20,6 @@ public class EffetSonore {
try { try {
//File soundPath = new File(path);
InputStream soundPath = path; InputStream soundPath = path;
if (soundPath!=null) { if (soundPath!=null) {

View File

@ -28,7 +28,8 @@ public class ParametreController implements Initializable {
private CheckBox clair; private CheckBox clair;
@FXML @FXML
private ComboBox<String> langues; private ComboBox<String> langues;
boolean coche = false; // verifi si la checbox musical est coche public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche
public static boolean cbSonCoche = false;
boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois
String filepathMusique = "/ihm/ressources/musique/The_Red_Fox_Tavern.wav"; // lien vers la musique : https://www.youtube.com/watch?v=LBpKUIyOHdo String filepathMusique = "/ihm/ressources/musique/The_Red_Fox_Tavern.wav"; // lien vers la musique : https://www.youtube.com/watch?v=LBpKUIyOHdo
@ -57,7 +58,7 @@ public class ParametreController implements Initializable {
if (fileMusique!=null) { if (fileMusique!=null) {
if (cmusique.isSelected() == true) { if (cmusique.isSelected() == true) {
coche = true; cbMusiqueCoche = true;
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
Musique.playMusique(fileMusique); Musique.playMusique(fileMusique);
MusiqueLancee = true; MusiqueLancee = true;
@ -67,8 +68,8 @@ public class ParametreController implements Initializable {
} }
} else { } else {
if (coche == true) { if (cbMusiqueCoche == true) {
coche = false; cbMusiqueCoche = false;
Musique.pauseMusique(Musique.clip); //met en pause la musique Musique.pauseMusique(Musique.clip); //met en pause la musique
} }
@ -79,12 +80,14 @@ public class ParametreController implements Initializable {
//Pour les effets sonores //Pour les effets sonores
if (cbEffetSonore.isSelected() == true) { if (cbEffetSonore.isSelected() == true) {
EffetSonore.setSoundOK(true); EffetSonore.setSoundOK(true);
cbSonCoche = true;
System.out.println(EffetSonore.isSoundOK()); System.out.println(EffetSonore.isSoundOK());
} }
else { else {
EffetSonore.setSoundOK(false); EffetSonore.setSoundOK(false);
cbSonCoche = false;
System.out.println(EffetSonore.isSoundOK()); System.out.println(EffetSonore.isSoundOK());
} }

View File

@ -1,6 +1,5 @@
package ihm.controller; package ihm.controller;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URL; import java.net.URL;
@ -15,62 +14,86 @@ import javafx.scene.control.CheckBox;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
import javafx.stage.Stage; import javafx.stage.Stage;
public class PauseController implements Initializable{ public class PauseController implements Initializable {
@FXML private CheckBox cbMusique; @FXML
@FXML private CheckBox cbEffet; private CheckBox cbMusique;
@FXML
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"; private CheckBox cbEffet;
InputStream fileInput = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav");
File fileMusique = new File("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav");
public EffetSonore soundEffects = new EffetSonore();
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav";
InputStream fileMusique = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav");
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
boolean SonLance = ParametreController.cbSonCoche;
@Override @Override
public void initialize(URL arg0, ResourceBundle arg1) { public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
if (MusiqueLancee == true) {
cbMusique.setSelected(true);
}
if (SonLance == true) {
cbEffet.setSelected(true);
}
} }
@FXML @FXML
public void reprendre(MouseEvent me) { public void reprendre(MouseEvent me) {
//Pour la musique InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
boolean MusiqueLancee = false;
if (fileMusique.exists()) { // Pour la musique
if (fileMusique != null) {
System.out.println("point d'arret 1");
if (cbMusique.isSelected()) { if (cbMusique.isSelected()) {
System.out.println("\tLancement de la musique"); System.out.println("\tLancement de la musique");
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
Musique.playMusique(fileInput); Musique.playMusique(fileMusique);
MusiqueLancee = true; MusiqueLancee = true;
} else Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret System.out.println("point d'arret 2");
} else
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
System.out.println("point d'arret 3");
} else { } else {
Musique.pauseMusique(Musique.clip); //met en pause la musique Musique.pauseMusique(Musique.clip); // met en pause la musique
System.out.println("\tMise en pause de la musique"); System.out.println("\tMise en pause de la musique");
} }
} }
else {
//Pour les effets sonores System.out.println("ON A UN PROBLEME, AUCUN POINT D'ARRET N'EST PASSE");
}
// Pour les effets sonores
if (cbEffet.isSelected() == true) { if (cbEffet.isSelected() == true) {
System.out.println("\tEffets sonores activé"); System.out.println("\tEffets sonores activé");
soundEffects.setSoundOK(true); EffetSonore.setSoundOK(true);
}else {
} else {
System.out.println("\tEffets sonores désactivé"); System.out.println("\tEffets sonores désactivé");
soundEffects.setSoundOK(false); EffetSonore.setSoundOK(false);
} }
soundEffects.playSoundEffect("src//ihm//ressources//musique//BEEP1.wav"); //met un bruit sur le bouton si les effets sonores sont activés ParametreController.cbSonCoche = cbEffet.isSelected();
ParametreController.cbMusiqueCoche = cbMusique.isSelected();
EffetSonore.playSoundEffect(fileSound1); // met un bruit sur le bouton si les effets sonores sont activés
System.out.println("Retour au jeu"); System.out.println("Retour au jeu");
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow(); Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close(); appStage.close();
} }
@FXML
@FXML
public void quitter(MouseEvent me) throws IOException { public void quitter(MouseEvent me) throws IOException {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.err.println("Fin de partie"); System.err.println("Fin de partie");
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow(); Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close(); appStage.close();
} }
} }

View File

@ -2,6 +2,7 @@ package ihm.controller;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -10,6 +11,7 @@ import java.util.Map;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import java.util.Set; import java.util.Set;
import ihm.EffetSonore;
import ihm.PopUp; import ihm.PopUp;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader; import javafx.fxml.FXMLLoader;
@ -297,6 +299,10 @@ public class PlateauController implements Initializable {
@FXML @FXML
public void mettreEnPause(MouseEvent me) throws IOException { public void mettreEnPause(MouseEvent me) throws IOException {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
EffetSonore.playSoundEffect(fileSound1);
System.out.println("Jeu en pause ..."); System.out.println("Jeu en pause ...");
final URL fxmlURL = getClass().getResource("../ressources/Pause.fxml"); final URL fxmlURL = getClass().getResource("../ressources/Pause.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);