'-------------------------------------------------------------------------------------------------
// 웨이브 파일 실행
'-------------------------------------------------------------------------------------------------
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Sub Form_Load()
    ' 맨뒤의 값을 0 으로 바꾸면 연주되는 동안 프로그램이 멈춰있는다.
    sndPlaySound "C:Program FilesWindows NTPinballSOUND1.WAV", 1
End Sub



'-------------------------------------------------------------------------------------------------
// 미디 파일 실행 - 멈추기 버튼
'-------------------------------------------------------------------------------------------------
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
Const m_MIDI = "C:WINNTMediacanyon.mid"
Const m_MIDIAlias = "MyFile"

Private Sub Form_Load()
    mciSendString "OPEN " + m_MIDI + " TYPE SEQUENCER ALIAS " + m_MIDIAlias, 0&, 0, 0
    mciSendString "PLAY " + m_MIDI + " FROM 0", 0&, 0, 0
    mciSendString "CLOSE ANIMATION", 0&, 0, 0
End Sub

Private Sub Command1_Click()
    ' 멈추기
    mciSendString "OPEN " + m_MIDI + " TYPE SEQUENCER ALIAS " + m_MIDIAlias, 0&, 0, 0
    mciSendString "STOP " + m_MIDI, 0&, 0, 0
    mciSendString "CLOSE ANIMATION", 0&, 0, 0
End Sub



'-------------------------------------------------------------------------------------------------
// 미디 파일 실행 - 10초동안 연주하고 멈추기
    * 이 소스는 API-Guide 프로그램에서 가져옴
'-------------------------------------------------------------------------------------------------
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
Const m_MIDI = "C:WINNTMediacanyon.mid"
Const m_MIDIAlias = "MyFile"
Const PlayTime = 10

Private Sub Form_Load()
    R% = mciSendString("OPEN " + m_MIDI + " TYPE SEQUENCER ALIAS " + m_MIDIAlias, 0&, 0, 0)
    R% = mciSendString("PLAY " + m_MIDIAlias + " FROM 0", 0&, 0, 0)
    R% = mciSendString("CLOSE ANIMATION", 0&, 0, 0)

    ' 10초 동안만 연주
    t = Timer
    Do: DoEvents: Loop Until Timer > t + PlayTime

    '미디 멈추기
    R% = mciSendString("OPEN " + m_MIDI + " TYPE SEQUENCER ALIAS " + m_MIDIAlias, 0&, 0, 0)
    R% = mciSendString&("STOP " + m_MIDIAlias, 0&, 0, 0)
    R% = mciSendString&("CLOSE ANIMATION", 0&, 0, 0)
End Sub





Source Page : http://www.mentalis.org/tips/tip003.shtml