Amélioration de la javadoc

This commit is contained in:
2024-12-06 22:56:22 +01:00
parent db9686d283
commit 4c8be6cf96
3 changed files with 111 additions and 2 deletions

View File

@@ -8,12 +8,40 @@ import javax.sound.sampled.Clip;
import javax.sound.sampled.LineEvent; import javax.sound.sampled.LineEvent;
import javax.sound.sampled.FloatControl; import javax.sound.sampled.FloatControl;
/**
* Classe utilitaire pour jouer de la musique et des bruitages.
*
* Cette classe fournit des méthodes statiques pour charger et jouer de la musique
* et des bruitages à partir de fichiers audio.
*
* @author Moncef STITI
* @version 1.0
*/
public class MusicPlayer { public class MusicPlayer {
/**
* Clip pour la musique.
*/
private static Clip musicClip; private static Clip musicClip;
private static Clip soundClip; // Clip séparé pour les bruitages
/**
* Clip pour les bruitages.
*/
private static Clip soundClip;
/**
* Indique si la musique est en cours de lecture.
*/
private static boolean isPlayingMusic = false; private static boolean isPlayingMusic = false;
/**
* Indique si un bruitage est en cours de lecture.
*/
private static boolean isPlayingSound = false; private static boolean isPlayingSound = false;
/**
* Charge un fichier audio à partir du chemin spécifié.
* @param music Musique à charger
*/
public static void loadMusic(Musics music) { public static void loadMusic(Musics music) {
if (music == Musics.MAIN_MENU_MUSIC) { if (music == Musics.MAIN_MENU_MUSIC) {
musicClip = SoundLoader.loadMusic(Musics.MAIN_MENU_MUSIC.getSoundsPath()); musicClip = SoundLoader.loadMusic(Musics.MAIN_MENU_MUSIC.getSoundsPath());
@@ -23,6 +51,10 @@ public class MusicPlayer {
} }
} }
/**
* Charge un fichier audio à partir du chemin spécifié.
* @param sound Bruitage à charger
*/
public static void loadSound(Sounds sound) { public static void loadSound(Sounds sound) {
if (sound == Sounds.SOUNDS1) { if (sound == Sounds.SOUNDS1) {
soundClip = SoundLoader.loadMusic(Sounds.SOUNDS1.getSoundsPath()); // Utilise soundClip pour les bruitages soundClip = SoundLoader.loadMusic(Sounds.SOUNDS1.getSoundsPath()); // Utilise soundClip pour les bruitages
@@ -32,6 +64,9 @@ public class MusicPlayer {
} }
} }
/**
* Joue la musique.
*/
public static void playMusic() { public static void playMusic() {
if (musicClip != null && !isPlayingMusic && !Options.MUSIC_MUTED) { if (musicClip != null && !isPlayingMusic && !Options.MUSIC_MUTED) {
musicClip.start(); musicClip.start();
@@ -39,6 +74,9 @@ public class MusicPlayer {
} }
} }
/**
* Joue un bruitage.
*/
public static void playSound() { public static void playSound() {
if (soundClip != null && !isPlayingSound && !Options.SOUNDS_MUTED) { if (soundClip != null && !isPlayingSound && !Options.SOUNDS_MUTED) {
soundClip.start(); soundClip.start();
@@ -52,6 +90,9 @@ public class MusicPlayer {
} }
} }
/**
* Met en pause la musique.
*/
public static void pauseMusic() { public static void pauseMusic() {
if (musicClip != null && isPlayingMusic) { if (musicClip != null && isPlayingMusic) {
musicClip.stop(); musicClip.stop();
@@ -59,6 +100,9 @@ public class MusicPlayer {
} }
} }
/**
* Arrête la musique.
*/
public static void stopMusic() { public static void stopMusic() {
if (musicClip != null) { if (musicClip != null) {
musicClip.stop(); musicClip.stop();
@@ -67,6 +111,9 @@ public class MusicPlayer {
} }
} }
/**
* Régler le volume du clip audio.
*/
public static void setVolume(Clip clip, int volume) { public static void setVolume(Clip clip, int volume) {
if (clip != null) { if (clip != null) {
FloatControl volumeControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN); FloatControl volumeControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
@@ -76,18 +123,34 @@ public class MusicPlayer {
} }
} }
/**
* Indique si la musique est en cours de lecture.
* @return true si la musique est en cours de lecture, false sinon
*/
public static boolean isPlayingMusic() { public static boolean isPlayingMusic() {
return isPlayingMusic; return isPlayingMusic;
} }
/**
* Indique si un bruitage est en cours de lecture.
* @return true si un bruitage est en cours de lecture, false sinon
*/
public static boolean isPlayingSound() { public static boolean isPlayingSound() {
return isPlayingSound; return isPlayingSound;
} }
/**
* Récupérer le clip de musique.
* @return Clip de musique
*/
public static Clip getMusicClip() { public static Clip getMusicClip() {
return musicClip; return musicClip;
} }
/**
* Récupérer le clip de bruitage.
* @return Clip de bruitage
*/
public static Clip getSoundClip() { public static Clip getSoundClip() {
return soundClip; return soundClip;
} }

View File

@@ -1,21 +1,50 @@
package fr.monkhanny.dorfromantik.utils; package fr.monkhanny.dorfromantik.utils;
/** /**
* Représente un score d'un joueur dans une série; * Représente un score d'un joueur dans une série.
*
* Cette classe est utilisée pour stocker les informations sur un score
* dans une série donnée. Elle permet de garder un enregistrement de la série jouée et du score.
*
* @version 1.0
* @author Khalid CHENOUNA
*/ */
public class PlayerScore { public class PlayerScore {
/**
* Nom de la série
*/
private String serie; private String serie;
/**
* Score
*/
private int score; private int score;
/**
* Constructeur pour initialiser les variables du score.
*
* @param serie Nom de la série
* @param score Score
*/
public PlayerScore(String serie, int score) { public PlayerScore(String serie, int score) {
this.serie = serie; this.serie = serie;
this.score = score; this.score = score;
} }
/**
* Récupérer le nom de la série.
*
* @return Nom de la série
*/
public String getSerieName() { public String getSerieName() {
return serie; return serie;
} }
/**
* Récupérer le score.
*
* @return Score
*/
public int getScore() { public int getScore() {
return score; return score;
} }

View File

@@ -4,11 +4,28 @@ import javax.sound.sampled.*;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
/**
* Classe utilitaire pour charger et lire des fichiers audio.
*
* Cette classe fournit une méthode statique pour charger un fichier audio
* et renvoyer un objet `Clip` qui peut être utilisé pour lire le son.
*
* @author Moncef STITI
* @version 1.0
*/
public class SoundLoader { public class SoundLoader {
/**
* Charge un fichier audio à partir du chemin spécifié.
*
* @param filePath Chemin du fichier audio à charger
* @return Clip Objet `Clip` qui peut être utilisé pour lire le son
*/
public static Clip loadMusic(String filePath) { public static Clip loadMusic(String filePath) {
try { try {
// Charger le fichier audio
File soundFile = new File(filePath); File soundFile = new File(filePath);
// Créer un flux audio à partir du fichier et l'ouvrir
AudioInputStream audioStream = AudioSystem.getAudioInputStream(soundFile); AudioInputStream audioStream = AudioSystem.getAudioInputStream(soundFile);
Clip clip = AudioSystem.getClip(); Clip clip = AudioSystem.getClip();
clip.open(audioStream); clip.open(audioStream);