试试下面的代码利用多媒体的 mciSendString API 函数, 再搭配 mci(multimedia control interface) 指令, 即可播放 .wav 声音文件, 细节如下:1. API 的声明:    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal 
    lpstrCommand As String, ByVal lpstrReturnString 
    As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As 
    Long注:如果以上的声明放在「一般模块」底下, 应将 Private 保留字去掉。2. 程序范例:' 撰写播放声音的一副程序
Sub PlaySound(filename)
    Dim cmd As String
    Call mciSendString("close MyWav", 0, 0, 0) ' MyWav 这个名称可依需要来修改
    cmd = "open " & filename & " type WAVEAudio alias MyWav"
    Call mciSendString(cmd, 0, 0, 0)
    Call mciSendString("play MyWav", 0, 0, 0)
End Sub
' 假设要拨放 "c:\windows\Tada.wav"
PlaySound "c:\windows\Tada.wav"

解决方案 »

  1.   

    添加一个Windows Media Player控件双击command,
    Private Sub Command1_Click()
    MediaPlayer1.FileName = "C:\Documents and Settings\Administrator\My Documents\wav\1.wav"
    End Sub如果不想显示MediaPlayer控件的话,
    Private Sub Form_Load()
    MediaPlayer1.Visible = False
    End Sub
      

  2.   

    再说一个API模块生命
         Declare Function sndPlaySound Lib "winmm.dll" Alias
        “sndPlaySoundA" (ByV al lpszSoundName As String, ByVal uFlags As Long) As Long
         Dim fil As String
        ④在模块中输入以下代码,定义调用声音文件函数。
        Public Function sound(n As Integer) As Integer
        Dim x As Integer
        Select Case n
        Case 1
        fil = "c:\sound\beep3.wav"
        x = sndPlaySound(0, 0)
        x = sndPlaySound(fil, &H1 Or &H2)
        sound = x 
        Case 2
        fil = "c:\sound\hit8.wav"
        x = sndPlaySound(0, 0)
        x = sndPlaySound(fil, &H1 Or &H2)
        sound = x
        Case 3
        fil = "c:\sound\net7.wav"
        x = sndPlaySound(0, 0)
        x = sndPlaySound(fil, &H1 Or &H2)
        sound = x
        Case 4
        fil = "c:\sound\out12.wav"
        x = sndPlaySound(0, 0)
        x = sndPlaySound(fil, &H1 Or &H2)
        sound = x
        Case 5 
        fil = "c:\sound\spin5.wav"
        x = sndPlaySound(0, 0)
        x = sndPlaySound(fil, &H1 Or &H2)
        sound = x
        Case Else
        sound = 0
        End Select
        End Function
    例子:Private Sub Command1_Click()
        l = sound(1)
        End Sub
        Private Sub Command2_Click()
        l = sound(2)
        End Sub
        Private Sub Command3_Click()
        l = sound(3)
        End Sub
         年Private Sub Command4_Click()
        l = sound(4)
        End Sub
        Private Sub Command5_C lick()
         End Sub
        Private Sub Command6_Click()
        End
        End Sub
      

  3.   

    补充:用Mediaplayer控件的话放声音有几毫秒的延时,用API几乎没有