Внешнее миди-устройство JFugue 5

Долгое время пытались отправить последовательность на устройство midi с помощью jFugue 5:

     MusicReceiver device = getDeviceByName("name");

     Player player = new Player(); 
     Pattern pattern = new Pattern("A");    

     device.sendSequence(player.getSequence(pattern));

Не удается выполнить "Необработанное исключение типа MidiUnavailableException" на "device.sendSequence".

     static MidiDevice.Info getDeviceInfoByName(String name) {
        for (MidiDevice.Info info : MidiSystem.getMidiDeviceInfo()) {
          if (info.getName().equals(name)) {
            return info;
          }
        }
        return null;
      }

      static MusicReceiver getDeviceByName(String name) {
          return new MusicReceiver((MidiDevice) getDeviceInfoByName(name));
      }

1 ответ

Вы пытаетесь разыграть экземпляр MidiDevice.Info что вы получаете от вашего getDeviceByInfo к MidiDevice, Замените свой getDeviceByName функция со следующим:

static MusicReceiver getDeviceByName(String name)
        throws MidiUnavailableException {
    MidiDevice.Info info = getDeviceInfoByName(name);
    return new MusicReceiver(MidiSystem.getMidiDevice(info));
}
Другие вопросы по тегам