'-------------------------------------------------------------------------------------------------
// 웨이브 파일 실행
'-------------------------------------------------------------------------------------------------
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