gpt4 book ai didi

java - MIDI 初学者 - 需要演奏一个音符

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:59 26 4
gpt4 key购买 nike

我对Java的MIDI功能不是很了解。事实上,这让我很困惑。然而,我想做的是只是构建一个简单的应用程序来播放一个音符。

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

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

最佳答案

我知道这是一个非常古老的问题,但是,作为一名新手程序员,我很难弄清楚如何做到这一点,所以我想我会分享以下让 Java 成为播放单个 MIDI 音符以帮助其他人入门。

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 ) {
e.printStackTrace();
}
mChannels[0].noteOff(60);//turn of the note


} catch (MidiUnavailableException e) {
e.printStackTrace();
}
}

}

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

http://www.ibm.com/developerworks/library/it/it-0801art38/

这是一个很棒的教程,可能包含您正在寻找的一切;但是,一开始可能有点不知所措。

http://patater.com/gbaguy/javamidi.htm

具有由 15 岁的 child 编写的无效代码。令人惊讶的是,这是我发现的最有用的东西。

关于java - MIDI 初学者 - 需要演奏一个音符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16462854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com