MIDI sound playback

J

JLGWhiz

Some time ago I posted the following code wondering why my midi files were
not playing when all indications were that they should be playing.

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


Sub PlayMidiFile(MidiFileName As String, Play As Boolean) 'Function for
calling midi files
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

With a red face, I found that they had, in fact, been playing. Bumbling
around trying to determine what catastrophic blight had struck my system, I
found something called the Microsoft GS Wavetable SW Synthesizer, which had a
volume control that was set to the bottom of the slide. When I raised the
control to the top of the slide, my midi files miraculously began to play
once again when I ran the program. Now I know that the midi and .wav files
use two different internal circuits for sound amplification. And so do you,
in case you are interested.
 
J

JLatham

Always good when someone posts back with a solution to a problem they've had
- more help for others in the future.
 
T

Tom Ogilvy

When I responded to your post:
Have you tried playing the file with media player or similar? (To make sure
the sound isn't set to mute or the volumn is turned down.)

You said it was playing OK from the media player. Guess you didn't really
test that file??
 
J

JLGWhiz

Tom, I still cannot explain that. I did use Windows Media player to play the
midi files. But they would not play when executed through code. That is why
I did not think to look at the volume control settings. What I did not know
is that the SW Synthesizer is specifically for the midi files. But you can
bet I won't forget it now. Thanks for your responses, they kept me looking
for the cause of the problem.
 
N

NickHK

Can't explain the Media Player working, unless it does not use the Windows
SW Synthesizer, but the rest makes sense; MIDI files do not contain any
sound as such, but the instructions of how to play the various "instruments"
to recreate the sound, whereas .wav contain a representation of the actual
sound that is just rendered through the speaker. Kind of like the difference
between emf/wmf and bitmaps files.

NickHK
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top