GuidesPlay Wav resource

Play Wav resource

Developer.com content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.


Well, this doesn’t really deal with MFC, but its useful knowledge if you don’t know how..

Parts of this code I ripped from VC++ 4.1 help, but it was outdated and didn’t come close to working.

First of all you need to add the wave files to the .rc file manually like so:


<NameOfSound> WAVE <Location of WAVE.>
Example being

Cool WAVE C:projectssoundscool.wav

Then you need to add this function declarion to the class you plan on using..


BOOL PlayResource(LPSTR lpName)
{
BOOL bRtn;
LPSTR lpRes;
HANDLE hRes;
HRSRC hResInfo;
HINSTANCE Nl=AfxGetInstanceHandle();

/* Find the WAVE resource. */
hResInfo= FindResource(Nl,lpName,”WAVE”);
if(hResInfo == NULL)
return FALSE;
/* Load the WAVE resource. */

hRes = LoadResource(Nl,hResInfo);
if (hRes == NULL)
return FALSE;

/* Lock the WAVE resource and play it. */
lpRes=(LPSTR)LockResource(hRes);
if(lpRes==NULL)
return FALSE;

bRtn = sndPlaySound(lpRes, SND_MEMORY | SND_SYNC);
if(bRtn == NULL)
return FALSE;

/* Free the WAVE resource and return success or failure. */
FreeResource(hRes);
return TRUE;
}

Then to play the sound you simply use:


PlayResource(“<soundname>”);
Example being

PlayResource(“Cool”);

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories