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

📄 miditest.java

📁 Java游戏高级编程!!很不错的!!!Java游戏高级编程!!很不错的
💻 JAVA
字号:
     package com.croftsoft.core.media.sound.midi;

     import javax.sound.midi.*;

     /*********************************************************************
     * Tests all MIDI Instruments.
     *
     * <P>
     *
     * @author
     *   <A HREF="http://www.alumni.caltech.edu/~croft/">David W. Croft</A>
     * @version
     *   2001-05-29
     * @version
     *   1999-11-07
     *********************************************************************/
     public final class  MidiTest
     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     {

     private  MidiTest ( ) { }

     //////////////////////////////////////////////////////////////////////
     // Static methods
     //////////////////////////////////////////////////////////////////////

     public static void  main ( String [ ]  args )
       throws MidiUnavailableException
     //////////////////////////////////////////////////////////////////////
     {
       Sequencer  sequencer = MidiSystem.getSequencer ( );

       Synthesizer  synthesizer = MidiSystem.getSynthesizer ( );

       synthesizer.open ( );

       Instrument [ ]  instruments
         = synthesizer.getDefaultSoundbank ( ).getInstruments ( );

       MidiChannel [ ]  midiChannels = synthesizer.getChannels ( );

       for ( int  instrumentIndex = 0;
             instrumentIndex < instruments.length;
             instrumentIndex++ )
       {
         Instrument  instrument = instruments [ instrumentIndex ];

         System.out.println ( instrument.getName ( ) );

         synthesizer.loadInstrument ( instrument );

         midiChannels [ 0 ].programChange ( instrumentIndex );

         int  velocity = 64;

         for ( int  noteNumber = 0; noteNumber < 128; noteNumber++ )
         {
           midiChannels [ 0 ].noteOn ( noteNumber, velocity );

           try
           {
             Thread.sleep ( 100 );
           }
           catch ( InterruptedException  e )
           {
           }

           midiChannels [ 0 ].noteOff ( noteNumber );

           try
           {
             Thread.sleep ( 100 );
           }
           catch ( InterruptedException  e )
           {
           }

         }
       }

       synthesizer.close ( );

       sequencer.close ( );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     }

⌨️ 快捷键说明

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