midiOutShortMsg 函数的用法以及乐器编号

midiOutShortMsg百科介绍

1、简介:向声卡发送命令,声卡收到此函数后根据参数值发出声音。   
 
2、API声明:   
Private Declare Function midiOutShortMsg Lib " winmm.dll" (ByVal hMidiOut As Long, ByVal dwMsg As Long) As Long   
注意:要正确使用此命令,需要配合midiOutOpen(开启声卡)和midiOutClose(关闭声卡)。
下面是他们的API声明
Private Declare Function midiOutOpen Lib "winmm.dll" (lphMidiOut As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long   Private Declare Function midiOutClose Lib "winmm.dll" (ByVal hMidiOut As Long) As Long   
 
3、使用格式:   ret=midiOutShortMsg(midiout, &H90 + ((flip) * &H100) + (volume * &H10000) + channel)   
说明:  midiout是midioutopen开启设备成功后就会提供这个Long型变量,flip是Integer型参数,代表音的高低,相邻为半音,如60和61,隔1为全音,如63和65;volume为设备的音量值,普遍使用的是0-100之间的值。channel为通道,默认使用0即可。所谓通道就是MIDI音乐中的音层,就像电子琴的16个音层,有节奏通道,和弦通道,低音通道等等。最大可以支持16层,可以取其任意一个值即可。  
注意:使用完此命令后马上调用midioutclose关闭设备。
 
 
midiOutShortMsg(hMidi, 编号 * &H100 + &HC0)'发送改变乐器
midi乐器编号
0 Acoustic Grand Piano   大钢琴(声学钢琴)
1 Bright Acoustic Piano         明亮的钢琴
2 Electric Grand Piano              电钢琴
3 Honky-tonk Piano                酒吧钢琴
4 Rhodes Piano                柔和的电钢琴
5 Chorused Piano        加合唱效果的电钢琴
6 Harpsichord        羽管键琴(拨弦古钢琴)
7 Clavichord     科拉维科特琴(击弦古钢琴)

色彩打击乐器
8 Celesta                           钢片琴
9 Glockenspiel                        钟琴
10 Music box                        八音盒
11 Vibraphone                       颤音琴
12 Marimba                          马林巴
13 Xylophone                          木琴
14 Tubular Bells                      管钟
15 Dulcimer                  

你可能感兴趣的:(midiOutShortMsg 函数的用法以及乐器编号)