首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >听不到MIDI的声音

听不到MIDI的声音
EN

Stack Overflow用户
提问于 2016-04-19 18:30:48
回答 1查看 112关注 0票数 0

我从java开始,试着用midi播放一些声音。我在看“头第一”的书。问题是我听不到任何声音,这是我的代码

代码语言:javascript
复制
package pakedz;
import javax.sound.midi.*;

public class odtwarzaczMuzyki {
  public void graj(){
   try {
    Sequencer sekwenser = MidiSystem.getSequencer();
    System.out.println("Mamy sekwenser");
    sekwenser.open();

    Sequence sekwencja = new Sequence(Sequence.PPQ,4);
    Track sciezka = sekwencja.createTrack();

    ShortMessage a = new ShortMessage();
    a.setMessage(144, 1, 20, 100);
    MidiEvent nutaP = new MidiEvent(a, 1);
    sciezka.add(nutaP);
    ShortMessage b = new ShortMessage();
    b.setMessage(128, 1, 44, 100);
    MidiEvent nutaK = new MidiEvent(b, 16);
    sciezka.add(nutaK);

     sekwenser.setSequence(sekwencja);

 } catch (Exception ex) { 
    System.out.println("KUTASMARIAN");
}

 };

 public static void main (String[] args){
 odtwarzaczMuzyki radio = new odtwarzaczMuzyki();
 radio.graj();

 }

} 

我使用的是java 8.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-19 18:43:51

需要调用Sequencer中的start()方法。下面是修改过(未经测试)的代码。

建议检查Javadoc官方教程

代码语言:javascript
复制
package pakedz;
import javax.sound.midi.*;

public class odtwarzaczMuzyki {
  public void graj(){
    try {
      Sequencer sekwenser = MidiSystem.getSequencer();
      System.out.println("Mamy sekwenser");
      sekwenser.open();

      Sequence sekwencja = new Sequence(Sequence.PPQ,4);
      Track sciezka = sekwencja.createTrack();

      ShortMessage a = new ShortMessage();
      a.setMessage(144, 1, 20, 100);
      MidiEvent nutaP = new MidiEvent(a, 1);
      sciezka.add(nutaP);
      ShortMessage b = new ShortMessage();
      b.setMessage(128, 1, 44, 100);
      MidiEvent nutaK = new MidiEvent(b, 16);
      sciezka.add(nutaK);

      sekwenser.setSequence(sekwencja);
      sekwenser.start();

    }
    catch (Exception ex) { 
      System.out.println("KUTASMARIAN");
    }
  };

  public static void main (String[] args) {
    odtwarzaczMuzyki radio = new odtwarzaczMuzyki();
    radio.graj();
  }
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36726629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档