From 47512d3fefc581b7e32d8d8619c80c149ca2a18e Mon Sep 17 00:00:00 2001 From: timbo Date: Thu, 13 Nov 2014 23:25:30 +0100 Subject: [PATCH] changes audio engine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Probleme Audio File aus Package zu laden + evtl. änderung der klassen --- HeatUp/src/de/heatup/audio/Main.java | 3 ++- HeatUp/src/de/heatup/audio/Play.java | 14 +++++++++++++ HeatUp/src/de/heatup/audio/WavePlayer.java | 23 ++++++++++++++++++---- 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 HeatUp/src/de/heatup/audio/Play.java diff --git a/HeatUp/src/de/heatup/audio/Main.java b/HeatUp/src/de/heatup/audio/Main.java index 69ceb73..49c93c3 100644 --- a/HeatUp/src/de/heatup/audio/Main.java +++ b/HeatUp/src/de/heatup/audio/Main.java @@ -3,6 +3,7 @@ package de.heatup.audio; public class Main { public static void main(String[] args) { - new WavePlayer("").start(); + //new WavePlayer("").start(); + new WavePlayer("audiosample.wav").start(); } } diff --git a/HeatUp/src/de/heatup/audio/Play.java b/HeatUp/src/de/heatup/audio/Play.java new file mode 100644 index 0000000..581a5c3 --- /dev/null +++ b/HeatUp/src/de/heatup/audio/Play.java @@ -0,0 +1,14 @@ +package de.heatup.audio; + +public class Play { + + /** + * Praktisch wäre eine bindung von GameObject mit einem Sound + * dann könnte der entsprechende Sound einfach über das Object gespielt werden ohne jedesmal + * einen bestimmten pfand angeben zu müssen ? + * */ + public void Play(String filename) { + + } + +} diff --git a/HeatUp/src/de/heatup/audio/WavePlayer.java b/HeatUp/src/de/heatup/audio/WavePlayer.java index 3835596..c1051df 100644 --- a/HeatUp/src/de/heatup/audio/WavePlayer.java +++ b/HeatUp/src/de/heatup/audio/WavePlayer.java @@ -1,7 +1,9 @@ package de.heatup.audio; +import java.io.BufferedInputStream; import java.io.File; import java.io.IOException; + import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; @@ -14,8 +16,8 @@ import javax.sound.sampled.UnsupportedAudioFileException; public class WavePlayer extends Thread { private String filename; - private Position curPosition; + //private File soundFile; private final int EXTERNAL_BUFFER_SIZE = 524288; // 128Kb @@ -31,19 +33,32 @@ public class WavePlayer extends Thread { public WavePlayer(String wavfile, Position p) { filename = wavfile; curPosition = p; - } + } + + //public WavePlayer(File soundFile) { + //this.soundFile = soundFile; + //} public void run() { + /** File soundFile = new File(filename); if (!soundFile.exists()) { System.err.println("Wave file not found: " + filename); return; - } + } */ AudioInputStream audioInputStream = null; try { - audioInputStream = AudioSystem.getAudioInputStream(soundFile); + //audioInputStream = AudioSystem.getAudioInputStream(soundFile); + String path = "de/heatup/resources/audio/" + filename; + File f = new File(path); + if(!f.exists()) { + System.err.println("File not found: " + path); + return; + } + + audioInputStream = AudioSystem.getAudioInputStream(new BufferedInputStream(getClass().getResourceAsStream(path))); } catch (UnsupportedAudioFileException e1) { e1.printStackTrace(); return;