提示:
参数三数组中的每一个元素代表 128 种鼓音色中的一种;
MIDI 通道用 0-15 表示, 譬如通道 9 和 15 使用了 60 号键上的音色, 数组的第 60 个元素就是 $8200.
参数三数组中的每一个元素代表 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; {载卸指定的音色, 并清除音色数组}
//举例: