Skip to content
Snippets Groups Projects
Select Git revision
  • 2c31c843f415a0d0b6faf9d0918ff6dc79cfeaa4
  • main default protected
  • variant
3 results

FirefighterManager.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    SoundEngine.java 1.79 KiB
    package engine.sound;
    
    import engine.Engine;
    import engine.Kernel;
    
    import java.io.File;
    import java.util.HashMap;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    import javax.swing.*;
    
    public class SoundEngine implements Engine {
        private static Clip clip; // Ajout de cette variable pour stocker le clip en cours de lecture
    
        private HashMap<String, Boolean> soundMap = new HashMap<String, Boolean>();
    
        private boolean isMuted = false;
        public SoundEngine() {
        }
        public void playMusic(String location){
            if(isMuted) return;
            try {
                File musicPath = new File(location);
                if (musicPath.exists()) {
                    AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
                    clip = AudioSystem.getClip();
                    clip.open(audioInput);
                    clip.start();
                }
                else {
                    System.out.println(" le fichier n'existe pas");
                }
            }
            catch (Exception e)  {
                System.out.println(e);
            }
        }
    
        public static void stopMusic() {
            if (clip != null && clip.isRunning()) {
                clip.stop();
            }
        }
    
        @Override
        public void update() {
            if(isMuted) return;
            for (String sound : soundMap.keySet()) {
                if (soundMap.get(sound)) {
                    System.out.println(soundMap.get(sound));
                    playMusic(sound);
                }
            }
        }
    
        public void addSound(String soundPath, boolean isPlaying) {
            System.out.println("SoundEngine addSound " + isPlaying);
            soundMap.put(soundPath, isPlaying);
        }
    
        public void mute(){
            isMuted = !isMuted;
        }
    
    
    
        @Override
        public void restart() {
    
        }
    }