Option Explicit Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long Public Const SND_ASYNC = &H1& Public Const SND_MEMORY = &H4& Private Sub Command5_Click() 注释:播放 WAV 文件 Dim bArr() As Byte bArr = LoadResData(102, "WAVE") sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub 这样竟然提示我,VB6.EXE 错误会被windwos关闭
Private Sub Command5_Click() 注释:播放 WAV 文件 Dim bArr() As Byte bArr = LoadResData(102, "WAVE")doevents sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub同样是被关闭 哭了
以下是所需代码,该代码可以做很多用途,其中的函数,将会是你以后编程中可能用到的,建议收藏!请把以下代码放在模块中!Option ExplicitDeclare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _ (lpszSoundName As Any, ByVal uFlags As Long) As LongGlobal Const SND_ASYNC = &H1 ' 异步播放 Global Const SND_NODEFAULT = &H2 ' 不使用缺省声音 Global Const SND_MEMORY = &H4 '播放内存Public Sub PlayResWav(ID As Long) On Error GoTo errH Dim bty() As Byte bty = LoadResData(ID, "Sound") BeginPlaySound bty errH: End SubPublic Sub BeginPlaySound(SoundBuffer() As Byte) On Error GoTo errH sndPlaySound SoundBuffer(0), SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY errH: End Sub Public Sub EndPlaySound() On Error GoTo errH sndPlaySound ByVal vbNullString, 0& errH: End SubSub Wait(Optional TimeOut As Single = 0.2) Dim Tmp As Single Tmp = Timer Do Until Timer > Tmp + TimeOut DoEvents Loop End Sub
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Public Const SND_ASYNC = &H1&
Public Const SND_MEMORY = &H4&
Private Sub Command5_Click() 注释:播放 WAV 文件
Dim bArr() As Byte
bArr = LoadResData(102, "WAVE")
sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
End Sub
这样竟然提示我,VB6.EXE 错误会被windwos关闭
Dim bArr() As Byte
bArr = LoadResData(102, "WAVE")doevents
sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
End Sub同样是被关闭
哭了
http://www.mysticboy.nease.net/docs/codes/new_page_1.htm
CoderHelper 是怎样播放资源中的声音的?
ch为实现在每执行完一个命令后用声音标识执行的结果!采用了一下技术!首先加载两中声音到资源文件中,标识为 wav 101,102. 101 为执行成功,102 为执行失败!
为此,你可以使用 PlayResWav 函数,来播放. 范例如下
PlayResWav Iif(Err.Number=0,101,102) ' 此行中,如果无错执行,播放101号资源
以下是所需代码,该代码可以做很多用途,其中的函数,将会是你以后编程中可能用到的,建议收藏!请把以下代码放在模块中!Option ExplicitDeclare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _
(lpszSoundName As Any, ByVal uFlags As Long) As LongGlobal Const SND_ASYNC = &H1 ' 异步播放
Global Const SND_NODEFAULT = &H2 ' 不使用缺省声音
Global Const SND_MEMORY = &H4 '播放内存Public Sub PlayResWav(ID As Long)
On Error GoTo errH
Dim bty() As Byte
bty = LoadResData(ID, "Sound")
BeginPlaySound bty
errH:
End SubPublic Sub BeginPlaySound(SoundBuffer() As Byte)
On Error GoTo errH
sndPlaySound SoundBuffer(0), SND_ASYNC Or SND_NODEFAULT Or SND_MEMORY
errH:
End Sub
Public Sub EndPlaySound()
On Error GoTo errH
sndPlaySound ByVal vbNullString, 0&
errH:
End SubSub Wait(Optional TimeOut As Single = 0.2)
Dim Tmp As Single
Tmp = Timer
Do Until Timer > Tmp + TimeOut
DoEvents
Loop
End Sub
的我也用过 报错 我的那个WAV20M 是不是太大了还有就是我加1、2、3、4、6、7、8个doevents 都是错误
而加5个doevents 竟然一运行就消失了我靠靠靠靠靠靠靠靠靠靠靠靠靠