Play a MIDI file

The code below shows you how to play a MIDI sound file (with the extension mdi)

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
Public Function PlayMidiFile(MidiFile As String) As Boolean
    Dim lRet As Long
    On Error Resume Next
    If Dir(MidiFile) = "" Then Exit Function
    lRet = mciSendString("stop midi", "", 0, 0)
    lRet = mciSendString("close midi", "", 0, 0)
    lRet = mciSendString("open sequencer!" & MidiFile & " alias midi", "", 0, 0)
    lRet = mciSendString("play midi", "", 0, 0)
    PlayMidiFile = (lRet = 0)
End Function

You might also like...

Comments

James Crowley James first started this website when learning Visual Basic back in 1999 whilst studying his GCSEs. The site grew steadily over the years while being run as a hobby - to a regular monthly audience ...

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” - Rick Osborne