播放过程中所有界面上的控件都不能动,其他本来应该并发执行的程序也不能运行,只有当wav播放完以后才恢复正常播放wav的语句是
i = sndPlaySound(brcpath, SND_ASYNC)程序也不能中断,处于失去相应的状态

解决方案 »

  1.   

    private Const SND_ASYNC = &H1Private Sub Command1_Click()
    Dim sFlags As Long
    sFlags = SND_ASYNC
    sndPlaySound brcpath, sFlags
    End Sub'这样是可以的呀,
      

  2.   

    private Const SND_ASYNC = &H1这句是必须的吗?
      

  3.   

    程序结构是这样的
    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
      

  4.   

    谢谢 tztz520(午夜逛街),响应的问题解决了
    不过现在又有了个新的问题:
    我想连续播放2个wav:
    brcpath = "C:\aaa.wav"
    sndPlaySound brcpath, SND_ASYNC
    brcpath = "C:\bbb.wav"
    sndPlaySound brcpath, SND_ASYNC现在只能播放后一个wav,前面那个不播放,可是单步执行的时候可以两个都播放,为什么把第一个wav的播放给屏蔽了呢?难道这就是异步播放的结果?
      

  5.   

    使用sndPlaySound brcpath, SND_NOSTOP