VB如何循环播放资源文件文件中的声音?
我的这段代码可以播放资源文件文件中的声音,
     Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
      Private Const SND_ASYNC& = &H1
      Private Const SND_NODEFAULT& = &H2
      Private Const SND_RESOURCE& = &H40004
      Dim hInst As Long
      Dim sSoundName As String
      Dim lFlags As Long
      Dim lRet As LongPrivate Sub Form_Load()
Call wav
End SubPrivate Sub wav()bArr = LoadResData("qhj2", "sound") 
hInst = App.hInstance
      sSoundName = "qhj2"
      'lFlags = SND_RESOURCE + SND_ASYNC + SND_NODEFAULT
      lFlags = SND_RESOURCE + SND_MEMORY + SND_ASYNC + SND_LOOP
      lRet = PlaySound(sSoundName, hInst, lFlags)
End Sub但如何实现循环播放资源文件文件中的声音?多谢!

解决方案 »

  1.   

    '播放10次.Option ExplicitPublic Const SND_ASYNC = &H1&
    Public Const SND_LOOP = &H8&
    Public Const SND_MEMORY = &H4&
    Public Const SND_NODEFAULT = &H2&
    Public Const SND_NOSTOP = &H10&
    Public Const SND_SYNC = &H0&Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
    '------------------------------------------------------------
    Private Sub Command3_Click()
        Dim bArr() As Byte
        Dim I As Long
        For I = 0 To 9
            bArr = LoadResData("qhj2", "sound")
            sndPlaySoundFromMemory bArr(0), SND_MEMORY Or SND_NOSTOP
            DoEvents
        Next
    End Sub
      

  2.   

    这个 ... 我PlaySound 我感觉在第一次调用了还没放完的时候再第二次调用,它就会自动将前一次停掉了 是不是这样呀