⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 midiplayer.java

📁 一个JAVA小游戏
💻 JAVA
字号:
import javax.sound.midi.*;
import java.io.*;
class MidiPlayer implements Runnable{
      protected Sequence m_Midi;
      protected Sequencer m_player;
      public boolean m_bOk;
      private Thread m_thread;
      MidiPlayer(String FileName){
          File file=new File(FileName);
          m_bOk=true;
          m_thread=null;
          try{m_Midi=MidiSystem.getSequence(file);}
             catch(InvalidMidiDataException ie){m_bOk=false;}
             catch(IOException ie){m_bOk=false;}
          try{m_player=MidiSystem.getSequencer();}
             catch(MidiUnavailableException ie){m_bOk=false;}
      }
      public void run(){
          while(m_thread!=null){
               try{m_player.open();}
               catch(MidiUnavailableException ie){}
               try{m_player.setSequence(m_Midi);}
               catch(InvalidMidiDataException ie){}
               m_player.start();
               while(m_player.isRunning()&&m_thread!=null){
                   try{Thread.sleep(2000);}
                      catch(InterruptedException ie){}
               }
               m_player.close();
          }
      }
      public void play(){
          if(m_player.isRunning()==false){
               try{m_player.open();}
               catch(MidiUnavailableException ie){}
               try{m_player.setSequence(m_Midi);}
               catch(InvalidMidiDataException ie){}
               m_player.start();
          }
      }
      public void loop(){
          if(m_thread==null){
              m_thread=new Thread(this);
              m_thread.start();
          }
      }
      public void stop(){
          if(m_thread!=null&&m_thread.isAlive())m_thread.yield();
          m_thread=null;
          if(m_player.isRunning())m_player.close();
      }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -