首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BASS.NET创建MIDI事件无声音

使用BASS.NET创建MIDI事件无声音
EN

Stack Overflow用户
提问于 2016-03-19 16:24:31
回答 1查看 122关注 0票数 1

我尝试使用MIDI事件BASS.NET创建和播放,但它不能正常播放(没有声音),想要帮助,谢谢大家!来自谷歌的翻译

代码语言:javascript
复制
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);
    }
EN

回答 1

Stack Overflow用户

发布于 2016-03-19 21:45:17

我已经解决了这个问题,代码演示了在steamEvent中播放的两个音符。如果您想了解更多关于API推荐阅读的信息

代码语言:javascript
复制
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));
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36099536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档