WinAPI: midiOutCachePatches - 预装音色
WinAPI: midiOutCachePatches - 预装音色
涂孟超 发表于4年前
WinAPI: midiOutCachePatches - 预装音色
  • 发表于 4年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

提示:
参数三数组中的每一个元素代表 128 种音色中的一种;
MIDI 通道用 0..15 表示, 譬如通道 0 和 8 使用了 0 号音色, 数组的第 0 个元素就是 $0101.
//声明:
midiOutCachePatches(
  hMidiOut: HMIDIOUT;   {设备句柄; 这个设备应该是内部合成器}
  uBank: UINT;          {指定音色组; 缺省设置为 0}
  lpwPatchArray: PWord; {TPatchArray 数组的指针; 在这个数组中指出要装入或载卸的音色}
  uFlags: UINT          {选项}
): MMRESULT;            {成功返回 0; 可能的错误值如下:}

MMSYSERR_INVALHANDLE  = 5;  {设备句柄无效}
MMSYSERR_NOMEM        = 7;  {没有足够的空间装入音色}
MMSYSERR_NOTSUPPORTED = 8;  {设备不支持}

//lpwPatchArray 相关:
PPatchArray = ^TPatchArray;
TPatchArray = 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; {载卸指定的音色, 并清除音色数组}

 
 
 
 
 

 

 

  
//举例:
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 12
博文 2004
码字总数 14107
×
涂孟超
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: