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 {
//File soundPath = new File(path);
InputStream soundPath = path;
if (soundPath!=null) {

View File

@ -28,7 +28,8 @@ public class ParametreController implements Initializable {
private CheckBox clair;
@FXML
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
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 (cmusique.isSelected() == true) {
coche = true;
cbMusiqueCoche = true;
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
Musique.playMusique(fileMusique);
MusiqueLancee = true;
@ -67,8 +68,8 @@ public class ParametreController implements Initializable {
}
} else {
if (coche == true) {
coche = false;
if (cbMusiqueCoche == true) {
cbMusiqueCoche = false;
Musique.pauseMusique(Musique.clip); //met en pause la musique
}
@ -79,12 +80,14 @@ public class ParametreController implements Initializable {
//Pour les effets sonores
if (cbEffetSonore.isSelected() == true) {
EffetSonore.setSoundOK(true);
cbSonCoche = true;
System.out.println(EffetSonore.isSoundOK());
}
else {
EffetSonore.setSoundOK(false);
cbSonCoche = false;
System.out.println(EffetSonore.isSoundOK());
}

View File

@ -1,6 +1,5 @@
package ihm.controller;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@ -16,61 +15,85 @@ import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
public class PauseController implements Initializable {
@FXML private CheckBox cbMusique;
@FXML private CheckBox cbEffet;
@FXML
private CheckBox cbMusique;
@FXML
private CheckBox cbEffet;
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav";
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");
InputStream fileMusique = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav");
public EffetSonore soundEffects = new EffetSonore();
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
boolean SonLance = ParametreController.cbSonCoche;
@Override
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
public void reprendre(MouseEvent me) {
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
// Pour la musique
boolean MusiqueLancee = false;
if (fileMusique.exists()) {
if (fileMusique != null) {
System.out.println("point d'arret 1");
if (cbMusique.isSelected()) {
System.out.println("\tLancement de la musique");
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
Musique.playMusique(fileInput);
Musique.playMusique(fileMusique);
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 {
Musique.pauseMusique(Musique.clip); // met en pause la musique
System.out.println("\tMise en pause de la musique");
}
}
else {
System.out.println("ON A UN PROBLEME, AUCUN POINT D'ARRET N'EST PASSE");
}
// Pour les effets sonores
if (cbEffet.isSelected() == true) {
System.out.println("\tEffets sonores activé");
soundEffects.setSoundOK(true);
EffetSonore.setSoundOK(true);
} else {
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");
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close();
}
@FXML
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");
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close();
}
}

View File

@ -2,6 +2,7 @@ package ihm.controller;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@ -10,6 +11,7 @@ import java.util.Map;
import java.util.ResourceBundle;
import java.util.Set;
import ihm.EffetSonore;
import ihm.PopUp;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
@ -297,6 +299,10 @@ public class PlateauController implements Initializable {
@FXML
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 ...");
final URL fxmlURL = getClass().getResource("../ressources/Pause.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);