只播放一个吗?不如几个吧!!!
在VB中用API实现多媒体主要是调用Windows的mmsystem.dll库。以下为调用API的声明(这些代码放在程序的声明部分中): 
  ′播放CD和AVI所需要的声明。 
  Declare Function mciSendString Lib ″MMSYSTEM″(ByVal lpstrCommand as String,ByVal lpstrReturnStr as Any,By Val wRetumLen as Integer,ByVal hCallBack as Integer) as Long 
  ′播放WAV所需要的声明 
  Declare Function sndPlaySound Lib ″MMSYSTEM.DLL″(ByVal lpszSoundName as String,ByVal wF1ags as Integer) as Integer 
  ′检测声卡所需要的声明 
  Declare Function auxGetNaumDevs Lib ″MMSYSTEM″()as Integer 
  ′所用到的全局变量声明 
  Global Const SND_SYNC=&H0000   ′播放WAV用到的全局变量 
  Global Const SND_ASYNC=&-H0001 ′播放WAV用到的全局变量 
  Global Const SND_NODEFAULT=&H0002 ′播放WAV用到的全局变量 
  Global Const SND_LOOP=&H0008 ′播放WAV用到的全局变量 
  Global Const SND_NOSTOP=&-H0010 ′播放WAV用到的全局变量 
  ′接下来是调用这些声明 
  Function auxTest()as Boolean 
  Dim i As Integer 
  i=auxGetNumDevs() 
  If i>0 Then 
  AuxTest=True ′如果有声卡则返回真 
  Exit Function 
  Else 
  AuxTest=False ′如果未检测到声卡则返回假 
  Exit Function 
  Else 
  AuxTest=False ′如果未检测到声卡则返回假 
  Exit Function 
  End If 
  End Function 
  2.播放CD的源代码 
  Sub PlayCD(b As Integer) 
  ′ b为所播的音轨号 
  Dim a As Long 
  a=mciSendString(″open cdaudio alias cd wait″,0&,0,0) '初始化驱动 
  a=mciSendString(″set cd time format tmsf″,0&,0,0) 
  a=mciSendString(″play cd from″& Str(b),0&,00) ′播放音轨 
  End Sub 
  3.播放AVI的源代码 
  Sub playAVI(AVIFile As String) 
  Dim RVal as Long 
  AVIFile=″play″+AVIFile+″fullscreen″ ′全屏幕播放AVI文件 
  RVal=mciSendString(AVIFile,0&,0,0&) 
  End Sub 
  4.播放WAV的源代码 
  Sub playWAV(WAVFile As String) 
  Dim Flag as Integer 
  Dim a as Integer 
  wFlag=SND_ASYNC or SND_NODEFAULT 
  a=sndPlaySound(WAVFile,Flag) 
  End Sub 
  以上程序是我在调用多媒体时所常用的模块,你只需将上面的模块在程序中直接调用即可。 

解决方案 »

  1.   

    sndPlaySound函数提供了播放声音文件的简单方法。
        以下是一个简单的例程:
        Option Explicit
        Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
        Private Const SND_ASYNC = &H1        '  异步播放
        Private Const SND_SYNC = &H0         '  同步播放 (缺省)    Private Sub Command1_Click()
            Dim SoundFile As String, Result As Long
            SoundFile = "c:\Windows\Media\chord.wav"
            Result = sndPlaySound(SoundFile, SND_ASYNC)
        End Sub    其中SND_ASYNC常量用于在选择播放声音的同时,允许继续进行其他工作;
        SND_SYNC常量用于同步播放声音,直到声音播放结束才允许进行其他工作。
    SndPlaysound函数提供了播放声音文件的简单方法。我估计它只能播放WAV文件。
    使用方法很简单∶
         函数声明∶
         Private Declare Function sndPlaySound& Lib "winmm.dll" Alias "sndPlaySoundA" _
                        (ByVal lpszSoundName As String, ByVal uFlags As Long)     其中∶lpszSoundName       ---需要播放的的声音文件(附加明为WAV)
               uFlags              ---播放声音的方式。一般采用以下两种常量
                                  1,Const SND_SYNC& = &H0
                                  用于同步播放声音,至到声音播放结束,才允许进行其他工作。                                2,Const SND_ASYNC& = &H1
                                  在选择播放声音的同时,允许继续进行其他工作。                  返回值∶long型。播放成功返回1。其他情况,肯定不是1(废话)。
         凡例∶(以下代码用于同步播放d:\vbplay\sound.wav文件。)
                Dim SoundFileName As String,dl as long
                SoundFileName = "d:\vbplay\sound.wav"
                dl& = sndPlaySound(SoundFileName, SND_SYNC)
        此函数,在你想播放声音的时候,均可调用,效果极佳。不需要进行任何前期准备工作。
        如果你只是想播放WAV类文件,最好采取此方法,而不要采用媒体播放器控件。
      

  2.   

    算了,我给你个快一点的,建一个按纽,然后下面的东西复制到你的工程里Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As LongPrivate Sub Command1_Click()
    PlaySound "c:\123.WAV", 0, 0
    End Sub