summary refs log tree commit diff stats
path: root/src/com/fourisland/fourpuzzle/Audio.java
diff options
context:
space:
mode:
authorStarla Insigna <hatkirby@fourisland.com>2009-01-24 15:25:58 -0500
committerStarla Insigna <hatkirby@fourisland.com>2009-01-24 15:25:58 -0500
commitcd6b39590b8aced78fc2f6ed0c345fb9af1960c0 (patch)
tree807bc48adeb2a78a3f1d9b93f3471012509b5e51 /src/com/fourisland/fourpuzzle/Audio.java
parenta581d9b4136bb633771e5e881bbee5a36247b0e0 (diff)
downloadfourpuzzle-cd6b39590b8aced78fc2f6ed0c345fb9af1960c0.tar.gz
fourpuzzle-cd6b39590b8aced78fc2f6ed0c345fb9af1960c0.tar.bz2
fourpuzzle-cd6b39590b8aced78fc2f6ed0c345fb9af1960c0.zip
Replaced checked exceptions with RuntimeException
Diffstat (limited to 'src/com/fourisland/fourpuzzle/Audio.java')
-rw-r--r--src/com/fourisland/fourpuzzle/Audio.java68
1 files changed, 38 insertions, 30 deletions
diff --git a/src/com/fourisland/fourpuzzle/Audio.java b/src/com/fourisland/fourpuzzle/Audio.java index 39ce3d8..bc34eda 100644 --- a/src/com/fourisland/fourpuzzle/Audio.java +++ b/src/com/fourisland/fourpuzzle/Audio.java
@@ -6,7 +6,11 @@
6package com.fourisland.fourpuzzle; 6package com.fourisland.fourpuzzle;
7 7
8import com.fourisland.fourpuzzle.util.ObjectLoader; 8import com.fourisland.fourpuzzle.util.ObjectLoader;
9import java.util.logging.Level;
10import java.util.logging.Logger;
11import javax.sound.midi.InvalidMidiDataException;
9import javax.sound.midi.MidiSystem; 12import javax.sound.midi.MidiSystem;
13import javax.sound.midi.MidiUnavailableException;
10import javax.sound.midi.Sequencer; 14import javax.sound.midi.Sequencer;
11 15
12/** 16/**
@@ -17,57 +21,61 @@ public class Audio {
17 21
18 private static Sequencer seq; 22 private static Sequencer seq;
19 23
20 public static void init() throws Exception 24 public static void init()
21 { 25 {
22 seq = MidiSystem.getSequencer(); 26 try {
23 seq.open(); 27 seq = MidiSystem.getSequencer();
28 seq.open();
24 29
25 Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { 30 Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
26 public void run() { 31 public void run() {
27 if (seq.isRunning()) 32 if (seq.isRunning()) {
28 { 33 seq.stop();
29 seq.stop(); 34 }
30 }
31 35
32 seq.close(); 36 seq.close();
33 } 37 }
34 })); 38 }));
39 } catch (MidiUnavailableException ex) {
40 Logger.getLogger(Audio.class.getName()).log(Level.SEVERE, null, ex);
41 }
35 } 42 }
36 43
37 public static void playMusic(String file) throws Exception 44 public static void playMusic(String file)
38 { 45 {
39 playMusic(file, true, 1F); 46 playMusic(file, true, 1F);
40 } 47 }
41 48
42 public static void playMusic(String file, boolean loop) throws Exception 49 public static void playMusic(String file, boolean loop)
43 { 50 {
44 playMusic(file, loop, 1F); 51 playMusic(file, loop, 1F);
45 } 52 }
46 53
47 public static void playMusic(String file, boolean loop, float speed) throws Exception 54 public static void playMusic(String file, boolean loop, float speed)
48 { 55 {
49 seq.setSequence(ObjectLoader.getMusic(file)); 56 try {
57 seq.setSequence(ObjectLoader.getMusic(file));
50 58
51 if (loop) 59 if (loop) {
52 { 60 seq.setLoopCount(seq.LOOP_CONTINUOUSLY);
53 seq.setLoopCount(seq.LOOP_CONTINUOUSLY); 61 } else {
54 } else { 62 seq.setLoopCount(0);
55 seq.setLoopCount(0); 63 }
64
65 seq.setTempoFactor(speed);
66
67 seq.start();
68 } catch (InvalidMidiDataException ex) {
69 Logger.getLogger(Audio.class.getName()).log(Level.SEVERE, null, ex);
56 } 70 }
57
58 seq.setTempoFactor(speed);
59
60 seq.start();
61 } 71 }
62 72
63 public static void stopMusic() throws Exception 73 public static void stopMusic()
64 { 74 {
65 if (seq == null) 75 if (seq != null)
66 { 76 {
67 init(); 77 seq.stop();
68 } 78 }
69
70 seq.stop();
71 } 79 }
72 80
73} 81}