zoukankan      html  css  js  c++  java
  • WinAPI: midiOutCacheDrumPatches 预装鼓音色

    提示:
    参数三数组中的每一个元素代表 128 种鼓音色中的一种;
    MIDI 通道用 0-15 表示, 譬如通道 9 和 15 使用了 60 号键上的音色, 数组的第 60 个元素就是 $8200.
    //声明:
    midiOutCacheDrumPatches(
      hMidiOut: HMIDIOUT; {设备句柄; 这个设备应该是内部合成器}
      uPatch: UINT;       {指定鼓音色号; 缺省设置为 0}
      lpwKeyArray: PWord; {TKeyArray 数组的指针; 在这个数组中指出要装入或载卸的鼓音色的键号}
      uFlags: UINT        {选项}
    ): MMRESULT;          {成功返回 0; 可能的错误值如下:}
    
    MMSYSERR_INVALHANDLE  = 5;  {设备句柄无效}
    MMSYSERR_NOMEM        = 7;  {没有足够的空间装入音色}
    MMSYSERR_NOTSUPPORTED = 8;  {设备不支持}
    
    //lpwKeyArray 相关:
    PKeyArray = ^TKeyArray;
    TKeyArray = array[0..MIDIPATCHSIZE-1] of Word;
    {MIDIPATCHSIZE 是个常量:}
    MIDIPATCHSIZE   = 128;
    
    //uFlags:
    MIDI_CACHE_ALL     = 1; {装入所有指定音色, 如果不能全装入就全放弃, 并清除音色数组, 并返回 MMSYSERR_NOMEM}
    MIDI_CACHE_BESTFIT = 2; {装入所有指定音色, 如果不能全装入就尽量装, 并修改音色数组说明装了那些, 也返回 MMSYSERR_NOMEM}
    MIDI_CACHE_QUERY   = 3; {修改音色数组表示正在装入哪个音色}
    MIDI_UNCACHE       = 4; {载卸指定的音色, 并清除音色数组}
    
    //举例:
  • 相关阅读:
    09.回文数
    08.字符串转换位整数
    背景图片自适应
    认证 (authentication) 和授权 (authorization) 的区别
    vue-组件之间传值
    数组对象去重
    二进制数转换十进制数
    node-删除对象中指定属性失效问题-JSON.parse实例化
    Vue-动态修改数组
    正则遇到的问题集合
  • 原文地址:https://www.cnblogs.com/del/p/1079073.html
Copyright © 2011-2022 走看看