2017-03-29 6 views
1

naudioを使用してMIDI入力を行うアプリケーションを作成しています。 midi入力を取得してコンソールに出力し、データを使用するために管理されていますが、データの一部を分離できるようにする必要があります。私のコードはnaudio MIDI入力 - data2パラメータだけにe.MidiEventをフィルタリングしますか?

void midiIn_MessageReceived(object sender, MidiInMessageEventArgs e) 
    { 
     Console.WriteLine(e.MidiEvent); 
    } 

です。次の行がコンソールに書き込まれます。

0 ControlChange Ch: 1 Controller 48 Value 51 

これは問題ありませんが、どうすればdata2(値)を取得して何かに渡すことができますか?あなたがメッセージ情報からMIDIメッセージを取得する必要が...

答えて

3

を私は文字列としてスライスそれをのような恐ろしい何かができるが、これはおそらく、進むべき道ではありません。

void midiIn_MessageReceived(object sender, MidiInMessageEventArgs e) 
{ 
    MidiEvent me = e.MidiEvent; 

次に、あなたがする必要があります正しいメッセージ・タイプをチェック:

ControlChangeEvent cce = me as ControlChangeEvent; 
    if (cce != null) { 

そしてそれを扱う:

 Console.WriteLine(cce.ControllerValue); 
    } 
} 
+0

Yaaas!それだ。乾杯:) – jdm555

関連する問題