/* * @(#)AudioTest2.java 1.0 18/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 AudioTest2 extends Applet implements ActionListener { Button btn; TextField tf; AudioClip mc1; Sequence seq; Sequencer sequencer; public void init() { btn = new Button("Play"); btn.addActionListener(this); this.add(btn); btn = new Button("Loop"); btn.addActionListener(this); this.add(btn); btn = new Button("Stop"); btn.addActionListener(this); this.add(btn); tf = new TextField(20); this.add(tf); mc1=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("Play")) { mc1.play();type="play midi"; } else if (chosen.equals("Loop")) { mc1.loop();type="loop midi"; } else if (chosen.equals("Stop")) { mc1.stop();type="stop playing"; } tf.setText(type); } }