1、MidiSystem.getSequencer(false/true) 的作用是什么?请通俗的讲述下,JDK API看得有点晕,不是很明白
2、我在什么情况下调用sequencer= MidiSystem.getSequencer(false) ?
3、在什么情况下使用sequencer= MidiSystem.getSequencer(true);? 
4、下面的if语句,我该怎么写????
if(………………) 
  sequencer= MidiSystem.getSequencer(false); 
else 
  sequencer= MidiSystem.getSequencer(true); 
谢谢

解决方案 »

  1.   

    MidiSystem 类提供了对已安装的 MIDI 系统资源的访问,包括诸如 synthesizer、sequencer 和 MIDI 输入和输出端口等设备。典型的简单 MIDI 应用程序可通过调用一个或多个 MidiSystem 方法开始,这样可了解已安装的设备并获得该应用程序中所需要的设备。 该类还有用于读取那些包含了标准 MIDI 文件数据或音库的文件、流和 URL 的方法。可以查询 MidiSystem 了解指定 MIDI 文件的格式。 无法实例化 MidiSystem;所有的方法都是静态的。
      

  2.   

    你安装了jmf吧?前些日子,我机器用系统播放器连midi格式的音乐都播放不了,发现我机器的声音属性中的midi的默认设备发生了变化,这是由于jmf和midi发生冲突的原因,如果你安装了jmf,可能也会发生这样的情况,jmf改变了系统默认属性,把Java Sound Sequencer当做了默认设备,不需要if语句,只要在代码中加上这一条语句:
    System.setProperty("javax.sound.midi.Sequencer","com.sun.media.sound.RealTimeSequencerProvider");
    然后使用sequencer= MidiSystem.getSequencer();