private Const SND_ASYNC = &H1Private Sub Command1_Click() Dim sFlags As Long sFlags = SND_ASYNC sndPlaySound brcpath, sFlags End Sub'这样是可以的呀,
private Const SND_ASYNC = &H1这句是必须的吗?
程序结构是这样的 Private Sub play_Click()
Call Brc(p1,p2,p3)End Sub------------------------------------------------------------------------------------Private Function Brc(p1 As Integer, p2 As Integer, p3 As Integer) Dim brcpath as String Select Case p1 Case 1 brcpath = "C:\aaa.wav" sndPlaySound brcpath, SND_ASYNC Case 2 brcpath = "C:\bbb.wav" sndPlaySound brcpath, SND_ASYNC . . . End Select End Function
Dim sFlags As Long
sFlags = SND_ASYNC
sndPlaySound brcpath, sFlags
End Sub'这样是可以的呀,
Private Sub play_Click()
Call Brc(p1,p2,p3)End Sub------------------------------------------------------------------------------------Private Function Brc(p1 As Integer, p2 As Integer, p3 As Integer) Dim brcpath as String Select Case p1
Case 1
brcpath = "C:\aaa.wav"
sndPlaySound brcpath, SND_ASYNC
Case 2
brcpath = "C:\bbb.wav"
sndPlaySound brcpath, SND_ASYNC
.
.
.
End Select
End Function
不过现在又有了个新的问题:
我想连续播放2个wav:
brcpath = "C:\aaa.wav"
sndPlaySound brcpath, SND_ASYNC
brcpath = "C:\bbb.wav"
sndPlaySound brcpath, SND_ASYNC现在只能播放后一个wav,前面那个不播放,可是单步执行的时候可以两个都播放,为什么把第一个wav的播放给屏蔽了呢?难道这就是异步播放的结果?