2013-09-24 111 views
1

如何控制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

我該如何發送控件更改消息? 你能舉個例子嗎? – Ravekitty

+0

請使用「提問」按鈕提出問題。 –