Playing MIDI-files

 1999-08-13    Sound    0    152

Soundfiles in MIDI-format are often long, so it might be necessary to stop playing the sound (e.g. when the macro is finished). Here is an example:

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long

Sub PlayMidiFile(MidiFileName As String, Play As Boolean)
    If Dir(MidiFileName) = "" Then Exit Sub ' no file to play
    If Play Then
        mciExecute "play " & MidiFileName ' start playing
    Else
        mciExecute "stop " & MidiFileName ' stop playing
    End If
End Sub

Sub TestPlayMidiFile()
    PlayMidiFile "c:\foldername\soundfilename.mid", True
    MsgBox "Click OK when the MIDI file starts playing..."
    MsgBox "Click OK to stop playing the MIDI file..."
    PlayMidiFile "c:\foldername\soundfilename.mid", False
End Sub