About two months ago, I was playing around with the codecs on my Windows XP machine...I cant exactly remember why, but I think I was trying to install a new DivX one. I installed a few differnet players and codecs until I found the one I wanted. Everything seemed to be fine...until I went to
YouTube and noticed that I was not getting any sound. I thought it was an Adobe Flash problem, so reinstalled it, but still no luck. I found that I could play MP3s normally but couldnt play MIDIs or any Flash sounds. It appeared to be playing as normal but no sound came out. I thought it may be a sound card problem (C Media) so I reinstalled the drivers...no luck.
I noticed in Control Panel under "Sounds and Audio Devices" (Windows XP) that my "default device" for MIDI Music Playback was blank and also my "default device" was blank. Even if I selected an option from the drop down list and pressed "Apply" then "OK", the settings would not be saved and next time I go back in, it would be blank again.
I also noticed that the speaker icon in the bottom right hand corner of the screen (in the task tray) had disappeared as well.
I was getting really frustrated and googled the problem and found that this was a very old problem with no resolution.
After playing around and tweaking alot of settings, I finally found the solution with a little help from an old friend
RegMon. I found that Windows was looking for two keys in the registry and couldnt find them. These were:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/drivers32/midimapper
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/drivers32/wavemapper
It seems that one of the programs I installed then uninstalled when looking for the codec/player that I wanted must have deleted these keys.
Anyway, the solution is that these two registry keys should be set to the following string values:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/drivers32/midimapper should be set to
midimap.dll.
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/drivers32/wavemapper should be set to
msacm32.drv.
If you are still having problems, you may need to reinstall some default audio codecs the instructions found
here.
Finally, everything is back to normal again! I can now select my voice playback and midi playback default device and the speaker icon is back in the system tray...and I can watch Flash videos and listen to MIDIs.