私自身が解決策を見つけることができました。私がやったことは、私自身のトランスミッタとレシーバの実装を使ってデバイスをチェーン化したことです。
起動パッド入力 - >入力デバイスの受信機 - >自分の受信機 - >(自分の計算) - >自分の送信機 - > outputDeviceの受信機 - > outputDeviceの送信機 - >ランチパッドの出力。
、これはそれを行うには適切な方法であれば、私は知らないが、私のコードは次のようになりますので、今、私と一緒にクマ:MyMidiDeviceクラスの
// main
// get launchpad devices, open them
MyMidiDevice myDevice = new MyMidiDevice();
inputDevice.getTransmitter().setReceiver(myDevice);
myDevice.setReceiver(outputDevice.getReceiver());
コード:
public class MyMidiDevice implements Transmitter, Receiver
{
private Receiver receiver;
@Override
public Receiver getReceiver()
{
return this.receiver;
}
@Override
public void setReceiver(Receiver receiver)
{
this.receiver = receiver;
}
@Override
public void close()
{
}
@Override
public void send(MidiMessage message, long timeStamp)
{
System.out.println(message); // computations
this.getReceiver().send(message, timeStamp);
}
}
"ランチパッドからメッセージを受信すると、一連の他のメッセージを送信します。"あなたは正しく動作する方法を正しく記述しています。何が問題なのですか? –
さて、私はメッセージを受け取ったことをどのように知っていますか?イベントリスナーはありますか? –