3 import java
.io
.BufferedInputStream
;
5 import java
.io
.FileOutputStream
;
6 import java
.io
.IOException
;
7 import java
.io
.InputStream
;
9 import lejos
.hardware
.Audio
;
10 import lejos
.utility
.Delay
;
12 public class WavPlayer
extends Thread
{
13 private static String current
;
14 private Audio audio
= null;
16 public static void playWav(String c
){
20 public WavPlayer(Audio audio
){
22 audio
.setVolume(Audio
.VOL_MAX
);
25 public void preLoad(String
[] files
){
26 LCDPrinter
.print("Preloading audiofiles...");
27 for(String sound
: files
){
29 LCDPrinter
.print("Preloading: " + sound
);
30 InputStream inp
= new BufferedInputStream(Class
.class.getResourceAsStream("/nl/ru/des/sounds/" + sound
));
31 File f
= new File(sound
);
34 LCDPrinter
.print(sound
+ " already exists, skipping...");
37 FileOutputStream outp
= new FileOutputStream(sound
);
38 byte[] buffer
= new byte[1024];
40 while ((length
= inp
.read(buffer
)) > 0){
41 outp
.write(buffer
, 0, length
);
44 LCDPrinter
.print("Done...");
45 } catch (IOException e
) {
56 c
= new File(current
);
58 audio
.playSample(new File(current
));
60 LCDPrinter
.print("can't load: " + current
);