From ae8432ffe5cea8421b04068d0fe62d8e15175505 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 14 Sep 2011 10:42:54 +0100 Subject: New package management, needs more work, not enough is public. Split programs from the gui, these are included as examples. --- .../uk/ac/open/punchingbag/examples/Giggle.java | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 PunchingBag/src/uk/ac/open/punchingbag/examples/Giggle.java (limited to 'PunchingBag/src/uk/ac/open/punchingbag/examples/Giggle.java') diff --git a/PunchingBag/src/uk/ac/open/punchingbag/examples/Giggle.java b/PunchingBag/src/uk/ac/open/punchingbag/examples/Giggle.java new file mode 100644 index 0000000..89c7f62 --- /dev/null +++ b/PunchingBag/src/uk/ac/open/punchingbag/examples/Giggle.java @@ -0,0 +1,74 @@ +package uk.ac.open.punchingbag.examples; + +import java.io.File; +import java.io.IOException; + +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; +import javax.sound.sampled.DataLine; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.UnsupportedAudioFileException; + +import uk.ac.open.punchingbag.ButtonListener; +import uk.ac.open.punchingbag.Contact; +import uk.ac.open.punchingbag.PunchingBag; + +public class Giggle implements ButtonListener { + + PunchingBag bag = PunchingBag.getBag(); + + String soundDir = System.getProperty("user.dir") + + System.getProperty("file.separator"); + + File[] laughs = { new File(soundDir + "G4.wav"), + new File(soundDir + "C5.wav"), new File(soundDir + "D5.wav"), + new File(soundDir + "E5.wav"), new File(soundDir + "F5.wav"), + new File(soundDir + "G5.wav") }; + + public static void main(String[] args) { + new Giggle(); + + } + + Giggle() { + bag.addButtonListener(this); + bag.connectToArduinos(); + } + + @Override + public void buttonPressed(int x, int y) { + // TODO Auto-generated method stub + + } + + @Override + public void contact(Contact c) { + System.out.println(c); + bag.circleExpand(c.x, c.y, 16); + if (c.force > 520) { + //int laugh = c.force + } + } + + void laugh(int laugh) { + try { + AudioInputStream sound = AudioSystem.getAudioInputStream(laughs[laugh]); + DataLine.Info dataLine = new DataLine.Info(Clip.class, + sound.getFormat()); + Clip clip = (Clip) AudioSystem.getLine(dataLine); + clip.open(sound); + clip.start(); + } catch (LineUnavailableException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (UnsupportedAudioFileException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} -- cgit v1.2.3