如何控制MIDI序列的音量

时间:2013-09-24 10:15:45

标签: java sequence volume midi

如何控制MIDI音序器的音量?

而不是一切只是自动停止,我希望音量淡出和关闭。

if (musicSr != null)
{
    musicSr.stop();
    musicSr.close();

    musicSr = null;
    musicS = null;

    File music = new File(midi);
    if(music.exists())
    {
        musicS = MidiSystem.getSequence(music);
    }

    // Create a sequencer for the sequence
    musicSr = MidiSystem.getSequencer();
    musicSr.open();
    musicSr.setSequence(musicS);
    musicSr.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
    musicSr.start();
}

1 个答案:

答案 0 :(得分:1)

Sequencer界面不直接支持卷更改(以及任何渐变)。

要更改音量,您必须将实际音量更改消息发送到目标设备。 也就是说,在适当的时间位置将控制变更信息插入音序器的轨道。

要获得淡出效果,请使用减少值的多条消息。