MIDI初学者 – 需要播放一个音符

我不太了解Java的MIDIfunction。 事实上,它完全让我感到困惑。 然而,我想要做的只是构建一个简单的应用程序,它将播放一个音符。

如何使用Java Sound播放单个MIDI音符?

网上对此的支持几乎不存在,我完全不知所措。

我知道这是一个非常古老的问题,但是,作为一名新手程序员,我很难搞清楚如何做到这一点,所以我想我会分享下面的hello-world风格的程序让Java发挥单一作用midi note以帮助其他人入门。

import javax.sound.midi.*; public class MidiTest{ public static void main(String[] args) { try{ /* Create a new Sythesizer and open it. Most of * the methods you will want to use to expand on this * example can be found in the Java documentation here: * https://docs.oracle.com/javase/7/docs/api/javax/sound/midi/Synthesizer.html */ Synthesizer midiSynth = MidiSystem.getSynthesizer(); midiSynth.open(); //get and load default instrument and channel lists Instrument[] instr = midiSynth.getDefaultSoundbank().getInstruments(); MidiChannel[] mChannels = midiSynth.getChannels(); midiSynth.loadInstrument(instr[0]);//load an instrument mChannels[0].noteOn(60, 100);//On channel 0, play note number 60 with velocity 100 try { Thread.sleep(1000); // wait time in milliseconds to control duration } catch( InterruptedException e ) { } mChannels[0].noteOff(60);//turn of the note } catch (MidiUnavailableException e) {} } } 

上面的代码主要是通过剪切,粘贴和搞乱几个在线教程中的代码来创建的。 以下是我发现的最有用的教程:

http://www.ibm.com/developerworks/library/it/it-0801art38/这是一个很棒的教程,可能有你想要的一切; 然而,一开始可能有点压倒性的。

http://patater.com/gbaguy/javamidi.htm具有15岁的非工作代码。 令人惊讶的是,这是我发现的最有用的东西。

祝你好运。 干杯。

干得好 :

stackoverflow上的MIDI标签信息

  1. UnderStanding MIDI
  2. 关于Oracle的教程
  3. 访问MIDI
  4. MIdi合成