ciao a tutti, per la mia tesi di 5a sto sviluppando una tastiera MIDI in C#, ma non riesco ad assegnare ai tasti della keyboard, la riproduzione delle singole note. le funzioni di riproduzione, vengono eseguite correttamente quando premo i bottoni con il mouse, perciò non penso ci siano errori di codice.
Per la riproduzione delle note, uso le seguenti funzioni:
ho provato a scrivere una funzione per la riproduzione tramite keyboardcodice:int MidiOutMessage(int handle, int iStatus, int iCanale, int iDato1, int iDato2) { int message=0; message = iStatus | iCanale | (iDato1 << 8) | (iDato2 << 16); return midiOutShortMsg(handle , message); } int MidiNoteOn(int hMidi, int iCanale,int ottava, int iNota, int iVel) { return MidiOutMessage(hMidi, 0x090, iCanale,12*ottava+iNota , iVel); } int MidiNoteOff(int hMidi, int iCanale, int ottava, int iNota, int iVel) { return MidiOutMessage(hMidi, 0x080, iCanale, 12*ottava+iNota,iVel); }
ma non ottengo nessun risultato.codice:private void Form1_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode==Keys.Q) MidiNoteOn(lphMidiOut, 0, 2, 36, 60); }![]()
qualcuno saprebbe il modo per risolvere questo problema?
grazie in anticipo

Rispondi quotando
