Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
Oct 29, 1998

Windows sound programming.

Question:
When writing a Windows 95 program using VC++, how do you play a MIDI sound file?

Answer:
Musical Instrument Digital Interface (MIDI) is a standard used by electronic keyboards long before Microsoft developed Windows. MIDI defines a protocol for transmitting and storing musical information.

The Win32 API provides several routines for working with MIDI data. Like so many things in Windows, there are a number of ways to play a MIDI file. For our purposes, we'll try to find the simplest.

ShellExecute (hWnd, "open", "c:\\windows\\media\\Canyon.mid", NULL, NULL, SW_SHOWNORMAL);
ShellExecute and ShellExecuteEx are powerful routines that will open any type of supported file. Unfortunately, while this displays the specified MIDI file in the media player, I could see no simple way to automatically play the file. The user must manually click "play." If that doesn't suit you, you may want to try an MCI window class.
HWND hMCIWnd;

hMCIWnd = MCIWndCreate(NULL, hInst, 0, "c:\\windows\\media\\Canyon.mid");
MCIWndPlay(hMCIWnd);
The MCI window class can handle all sorts of multimedia formats. You also have the option of displaying the media controls in a window of their own or in your own window. Many other options are supported. (Note that you will need to include vfw.h, and add vfw32.lib to your list of import libraries.)
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap