2016-03-19 18 views
1

Bir MIDI Event BASS.NET'i oluşturmayı ve oynatmayı denedim, ancak düzgün çalmıyor (ses yok), yardım etmek istiyorum, teşekkürler millet! [Google'dan Tercüme] ben bu sorunu çözmüşBASS.NET'i kullanın MIDI yaratın Ses yok

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

okunması önerilir Eğer içinde hangi dil var; Java, C# veya herhangi bir şey olabilir; ama en azından bunun C olduğunu bilmiyorum –

+0

'midi', etikete bakın;) – tofro

+0

Başlatma eksik; lütfen bir [kanıtlayın]. –

cevap

1

, kod içinde steamEvent oynadığı iki notları gösterir. Eğer API hakkında daha fazla bilgi edinmek isteyen Bilmiyorum

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)); 
    }