博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinAPI: midiOutCachePatches - 预装音色
阅读量:7001 次
发布时间:2019-06-27

本文共 895 字,大约阅读时间需要 2 分钟。

  hot3.png

提示:
参数三数组中的每一个元素代表 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; {载卸指定的音色, 并清除音色数组}         //举例:

转载于:https://my.oschina.net/hermer/blog/319867

你可能感兴趣的文章