2016-03-19 7 views
1

MIDIイベントBASS.NETを作成して再生しようとしましたが、正しく再生されませんでした。 [Googleからの翻訳]BASS.NETを使用してMIDIイベントを作成しない

public void build_MIDI() { 
     BASS_MIDI_EVENT[] events ={ 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_TEMPO, 500000, 0, 0,0), 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_PROGRAM, 1, 0, 0,0), 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, 60, 100, 0,0), 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_END, 0, 0, 0,0), 
     }; 

     int build_play_midi_steam = BassMidi.BASS_MIDI_StreamCreateEvents(events,96, BASSFlag.BASS_SAMPLE_LOOP, 0); 
     Bass.BASS_ChannelPlay(build_play_midi_steam, false); 
    } 
+0

を読んでお勧めします私は知りませんこれがどんな言語であるか。 Java、C#または何でもかまいません。しかし、少なくとも私はこれがCでないことを知っています。 –

+0

これは 'midi'です、タグを参照してください;) – tofro

+0

初期化がありません。 [mcve]を証明してください。 –

答えて

1

私はこの問題を解決した、コードがでsteamEventで再生2つの音符を示しています。あなたはAPIに関する詳細情報を入手したい場合は

public void build_MIDI() 
    { 
     BASS_MIDI_EVENT[] events ={ 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_TEMPO, 500000, 0, 0,0), 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_PROGRAM, 0, 0, 0,0), 

     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, MAKEWORD(91,100), 0, 0 ,0), 
      new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, MAKEWORD(60,100), 0, 0 ,0), 
      new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, 91, 0, 48,0), 
      new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_NOTE, 60, 0, 96,0), 
     new BASS_MIDI_EVENT(BASSMIDIEvent.MIDI_EVENT_END, 0, 0, 2000,0), 
     }; 

     int build_play_midi_steam = BassMidi.BASS_MIDI_StreamCreateEvents(events,100, BASSFlag.BASS_MIDI_DECAYEND | BASSFlag.BASS_MIDI_DECAYSEEK | BASSFlag.BASS_MIDI_NOFX, 1); 

     Bass.BASS_ChannelPlay(build_play_midi_steam, false); 

    } 
    ushort MAKEWORD(byte a, byte b) 
    { 
     return (ushort)(a | (b << 8)); 
    } 
関連する問題