什么把"SND_ASYNC 改成SND_SYNC",不能这样吧
按cuizm(射天狼)所说的那样,可以实现声音的播放
按键时,播放声音的代码如下:
我这里是当你按多过键时:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim keys(0 To 255) As Byte
GetKeyboardState keys(0)
If keys(vbKeyA) >= 128 And keys(vbKeyRight) >= 128 Then
执行播放声音文件
End If
End Sub
'在模块中
Public Declare Function PlaySoundData Lib "winmm.dll" Alias "PlaySoundA" (lpData As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Public Const SND_NODEFAULT = &H2 ' silence not default, if sound not found
Public m_SndIn() As Byte
'在窗口中
m_SndIn = LoadResData("IN", "CUSTOM") '从资源文件中加载声音
Call PlaySoundData(m_SndIn(0), 0, SND_MEMORY Or SND_ASYNC Or SND_NODEFAULT)