【问题标题】:How to control the volume of an MIDI sequence如何控制 MIDI 序列的音量
【发布时间】:2013-09-24 10:15:44
【问题描述】:

如何控制 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();
}

【问题讨论】:

    标签: java sequence volume midi


    【解决方案1】:

    Sequencer 接口不直接支持音量变化(以及任何渐变)。

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

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

    【讨论】:

    • 如何发送控制更改消息?可以举个例子吗?
    • 请使用“”按钮提问。
    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 2018-03-12
    • 2013-09-30
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多