Package test;
Import javax.sound.midi.*;
Import javax.sound.sampled.*;
Import java.io.*;
/**
* <p>title: </p>
* <p>description: </p>
* <p>copyright:copyright (c) 2003</p>
* <p>Company:SinoSoft</p>
* @author Pete.
* @version 1.0
*/
Public class Playmidi implements runnable{
File sound;
Sequence seq;
Sequencer MIDI;
Thread Runner;
public Playmidi (String f) {
try {
sound=new File (f);
seq=midisystem.getsequence (sound);
midi=midisystem.getsequencer ();
Midi.open ();
midi.setsequence (seq);
}
catch (Exception ex) {
}
}
public void Run () {
try {
while (true) {
if (!midi.isrunning ()) Midi.start ();
Thread.Sleep (1000);
}
}
catch (Exception ex) {
Ex.printstacktrace ();
}
}
public void Playmidi () {
Try
{
Midi.start ();
if (runner==null) {
Runner=new Thread (this);
Runner.start ();
}
}
catch (Exception ex)
{
}
}
public void Stopmidi () {
Try
{
Runner.stop ();
Runner=null;
Midi.stop ();
}
catch (Exception ex)
{
}
}
public static void Main (string[] args)
{
Playmidi playMidi1 = new Playmidi ("Mytest.mid");
Playmidi1.playmidi ();
Playmidi1.stopmidi ();
}
}