diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/AudioManager.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/AudioManager.java new file mode 100644 index 0000000..b929d09 --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/AudioManager.java @@ -0,0 +1,39 @@ +package edu.ntnu.idi.idatt2003.gruppe42.Audio; + +import javafx.scene.media.AudioClip; + +import java.util.EnumMap; +import java.util.Map; + +public class AudioManager { + + private AudioManager instance = new AudioManager(); + private Map sounds = new EnumMap<>(SoundEffect.class); + private double volume = 1.0; + + public AudioManager() { + + for (SoundEffect effect : SoundEffect.values()) { + + AudioClip clip = new AudioClip( + getClass() + .getResource(effect.getPath()) + .toExternalForm() + ); + + sounds.put(effect, clip); + } + } + + public AudioManager getInstance() { + return instance; + } + + public void play(SoundEffect sound) { + AudioClip audioClip = sounds.get(sound); + + if (audioClip != null) { + audioClip.play(volume); + } + } +} diff --git a/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/SoundEffect.java b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/SoundEffect.java new file mode 100644 index 0000000..8d145b4 --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt2003/gruppe42/Audio/SoundEffect.java @@ -0,0 +1,17 @@ +package edu.ntnu.idi.idatt2003.gruppe42.Audio; + +public enum SoundEffect { + + OPEN_APP("/Audio/mouse_click.wav"), + CLOSE_APP("/Audio/mouse_click.wav"); + + private String path; + + SoundEffect(String path) { + this.path = path; + } + + public String getPath() { + return path; + } +} diff --git a/src/main/resources/Sounds/mouse_click.wav b/src/main/resources/Audio/mouse_click.wav similarity index 100% rename from src/main/resources/Sounds/mouse_click.wav rename to src/main/resources/Audio/mouse_click.wav diff --git a/src/main/resources/Sounds/confirm_transaction.wav b/src/main/resources/Sounds/confirm_transaction.wav deleted file mode 100644 index e2a16df..0000000 Binary files a/src/main/resources/Sounds/confirm_transaction.wav and /dev/null differ