0

当 JFugue 4.0.3 5 出现时,我正在做一些非常酷的事情,我注意到它带有许多新功能。现在尝试将一些代码移动到 jfugue 5.0.4 我看到我的外部声音字体没有被加载,即使以新的方式尝试它(使用 SynthesizerManager)。根据我的阅读,在使用 SynthesizerManager 中的 setSynthesizer 方法时,所有玩家都会默认加载该 Synthesizer,但我只听到默认的钢琴声音。我测试了单独加载合成器并列出乐器并且它可以工作,所以我猜问题是 SynthesizerManager 为播放器设置了正确的合成器。

        Soundbank coolGuitars = MidiSystem.getSoundbank(new File("/music/guitar.sf2"));

        Synthesizer synt = MidiSystem.getSynthesizer();
        synt.open();
        synt.loadAllInstruments(coolGuitars);

        SynthesizerManager s = SynthesizerManager.getInstance();
        s.setSynthesizer(synt);

        Player player = new Player();
        Pattern pattern = new Pattern("C+E+G D+F+A E+G+B F+A+C G+B+D A+C+E B+D+F");
        pattern.setInstrument(0);

        player.play(pattern);

在此先感谢您的帮助!

4

0 回答 0