/* * @(#)AudioTest1.java 1.0 12/12/02 * * by Andy Murray * */ import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.sound.midi.*; import java.net.*; import java.io.*; public class AudioTest1 extends Applet implements ActionListener { Button btn; TextField tf; AudioClip ac1, ac2, ac3, ac4, ac5, ac6, mc1, mc2; Sequence seq; Sequencer sequencer; public void init() { for (int i=1;i<7;i++) { btn = new Button("Audio"+i); btn.addActionListener(this); this.add(btn); } for (int i=1;i<3;i++) { btn = new Button("Midi"+i); btn.addActionListener(this); this.add(btn); } btn = new Button("MidiWeb1"); btn.addActionListener(this); this.add(btn); tf = new TextField(20); this.add(tf); ac1=getAudioClip(getDocumentBase(), "reprieve44stereo16bit.wav"); ac2=getAudioClip(getDocumentBase(), "reprieve22mono16bit.wav"); ac3=getAudioClip(getDocumentBase(), "reprieve11mono16bit.wav"); ac4=getAudioClip(getDocumentBase(), "reprieve8mono8bit.wav"); ac5=getAudioClip(getDocumentBase(), "killShort44stereo16bit.wav"); ac6=getAudioClip(getDocumentBase(), "killShort8mono8bit.wav"); mc1=getAudioClip(getDocumentBase(), "reprieve.MID"); mc2=getAudioClip(getDocumentBase(), "kill.MID"); try { seq=MidiSystem.getSequence(new URL("http://homepage.ntlworld.com/andy.murray2/midifiles/kill.MID")); // seq=MidiSystem.getSequence(new File("kill.mid")); sequencer=MidiSystem.getSequencer(); sequencer.open(); sequencer.setSequence(seq); } catch (MalformedURLException e) { tf.setText("err1"); } catch (IOException e) { tf.setText("err2"); } catch (MidiUnavailableException e) { tf.setText("err3"); } catch (InvalidMidiDataException e) { tf.setText("err4"); } } public void actionPerformed(ActionEvent ae) { String chosen=ae.getActionCommand(); String type=""; if (chosen.equals("Audio1")) { ac1.play();type="44k stereo 16bit"; } else if (chosen.equals("Audio2")) { ac2.play();type="22k mono 16bit"; } else if (chosen.equals("Audio3")) { ac3.play();type="11k mono 16bit"; } else if (chosen.equals("Audio4")) { ac4.play();type="8k mono 8bit"; } else if (chosen.equals("Audio5")) { ac5.play();type="44k stereo 16bit"; } else if (chosen.equals("Audio6")) { ac6.play();type="8k mono 8bit"; } else if (chosen.equals("Midi1")) { mc1.play(); type="slim midi file!"; } else if (chosen.equals("Midi2")) { mc2.play(); type="slim midi file!"; } else if (chosen.equals("MidiWeb1")) { sequencer.start(); type="using javax sequencer"; } tf.setText(type); } }