diff --git a/HeatUp/src/de/heatup/audio/AudioFiles.java b/HeatUp/src/de/heatup/audio/AudioFiles.java new file mode 100644 index 0000000..19505f9 --- /dev/null +++ b/HeatUp/src/de/heatup/audio/AudioFiles.java @@ -0,0 +1,27 @@ +package de.heatup.audio; + +public class AudioFiles { + + //base path + private static final String basePath = "src/de/heatup/resources/audio/"; + + //sound files + private String Invaders; + private String YouGetNothing; + + public AudioFiles() { + + //set paths + this.Invaders = basePath + "8bitinvaders.wav"; + this.YouGetNothing = basePath + "yougetnothing.wav"; + } + + public String getInvaders() { + return this.Invaders; + } + + public String getYouGetNothing() { + return this.YouGetNothing; + } + +} diff --git a/HeatUp/src/de/heatup/audio/AudioPlayer.java b/HeatUp/src/de/heatup/audio/AudioPlayer.java index 98c14a8..5e13e2a 100644 --- a/HeatUp/src/de/heatup/audio/AudioPlayer.java +++ b/HeatUp/src/de/heatup/audio/AudioPlayer.java @@ -12,7 +12,8 @@ public class AudioPlayer { public AudioPlayer() {} - public void play(String file) { + /** plays a file once */ + public void play(String file) { try { final Clip clip = (Clip)AudioSystem.getLine(new Line.Info(Clip.class)); @@ -37,5 +38,34 @@ public class AudioPlayer { } catch (Exception e) { e.printStackTrace(System.out); } - } + } + + /** loops every given file */ + public void loop(String file) { + + try { + final Clip clip = (Clip)AudioSystem.getLine(new Line.Info(Clip.class)); + clip.addLineListener(new LineListener() { + + @Override + public void update(LineEvent event) { + if(event.getType() == LineEvent.Type.STOP) + clip.close(); + } + }); + + File f = new File(file); + if(!f.exists()) { + System.out.println("File not found: " + f.getAbsolutePath()); + return; + } + + clip.open(AudioSystem.getAudioInputStream(f)); + clip.loop(clip.LOOP_CONTINUOUSLY); + + } catch(Exception e) { + e.printStackTrace(System.out); + } + } + } diff --git a/HeatUp/src/de/heatup/audio/Main.java b/HeatUp/src/de/heatup/audio/Main.java index f69a460..7ea6d67 100644 --- a/HeatUp/src/de/heatup/audio/Main.java +++ b/HeatUp/src/de/heatup/audio/Main.java @@ -4,11 +4,10 @@ public class Main { public static void main(String[] args) { - SoundfileBomb b = new SoundfileBomb(); - + AudioFiles f = new AudioFiles(); AudioPlayer p = new AudioPlayer(); - p.play(b.getPath()); - + //p.loop(f.getInvaders()); + p.play(f.getYouGetNothing()); } } diff --git a/HeatUp/src/de/heatup/audio/SoundfileBomb.java b/HeatUp/src/de/heatup/audio/SoundfileBomb.java deleted file mode 100644 index 982443e..0000000 --- a/HeatUp/src/de/heatup/audio/SoundfileBomb.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.heatup.audio; - -public class SoundfileBomb { - private String path; - - public SoundfileBomb() { - this.path = "src/de/heatup/resources/audio/" + "bomb.wav"; - } - - public String getPath() { - return this.path; - } - -} diff --git a/HeatUp/src/de/heatup/audio/SoundfileInvaders.java b/HeatUp/src/de/heatup/audio/SoundfileInvaders.java deleted file mode 100644 index 8a1a59f..0000000 --- a/HeatUp/src/de/heatup/audio/SoundfileInvaders.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.heatup.audio; - -public class SoundfileInvaders { - private String path; - - public SoundfileInvaders() { - this.path = "src/de/heatup/resources/audio/" + "8bitinvaders.wav"; - } - - public String getPath() { - return this.path; - } - -} diff --git a/HeatUp/src/de/heatup/resources/audio/audiosample.wav b/HeatUp/src/de/heatup/resources/audio/audiosample.wav deleted file mode 100644 index bf7fc00..0000000 Binary files a/HeatUp/src/de/heatup/resources/audio/audiosample.wav and /dev/null differ diff --git a/HeatUp/src/de/heatup/resources/audio/yougetnothing.wav b/HeatUp/src/de/heatup/resources/audio/yougetnothing.wav new file mode 100644 index 0000000..52b45c7 Binary files /dev/null and b/HeatUp/src/de/heatup/resources/audio/yougetnothing.wav differ diff --git a/HeatUp/src/de/heatup/ui/Main.java b/HeatUp/src/de/heatup/ui/Main.java index f8706aa..ba5d124 100644 --- a/HeatUp/src/de/heatup/ui/Main.java +++ b/HeatUp/src/de/heatup/ui/Main.java @@ -13,8 +13,8 @@ import java.awt.Point; import javax.swing.JFrame; import javax.swing.JPanel; +import de.heatup.audio.AudioFiles; import de.heatup.audio.AudioPlayer; -import de.heatup.audio.SoundfileInvaders; import de.heatup.cfg.Config; import de.heatup.logging.Logger; import de.heatup.mapengine.CollisionHandler; @@ -129,9 +129,12 @@ public class Main extends JFrame implements Runnable { actionPanel.setVisible(true); statusPanel.setVisible(true); - SoundfileInvaders bgsound = new SoundfileInvaders(); + /** + * muss noch in den ClasLoader, loop für background sound geht + */ + AudioFiles f = new AudioFiles(); AudioPlayer p = new AudioPlayer(); - p.play(bgsound.getPath()); + p.loop(f.getInvaders()); }