小编Mat*_*att的帖子

Java MIDI合成器 - 无法更改乐器

我似乎无法让乐器改变.我切换了仪器的值,但输出没有任何不同.无论我尝试什么价值,我都只能拿钢琴乐器演奏.这是下面的简单代码.有没有人有什么建议?或者我错过了仪器对象的基本原理?

import javax.sound.midi.*;
//import javax.sound.*;

public class Drum {
    static int instrument = 45;
    static int note = 100;
    static int timbre = 0;
    static int force = 100;
    public static void main(String[] args) {        
        Synthesizer synth = null;
        try {
            synth = MidiSystem.getSynthesizer();
            synth.open();
        }
        catch (Exception e) {
            System.out.println(e);
        }
        Soundbank soundbank = synth.getDefaultSoundbank();
        Instrument[] instr = soundbank.getInstruments();
        synth.loadInstrument(instr[instrument]);    //Changing this int (instrument) does nothing
        MidiChannel[] mc = synth.getChannels();
        mc[4].noteOn(note, force);
        try { Thread.sleep(1000); } 
        catch(InterruptedException e) {} …
Run Code Online (Sandbox Code Playgroud)

java midi-instrument

10
推荐指数
2
解决办法
9721
查看次数

标签 统计

java ×1

midi-instrument ×1