GuidesPlay Wav resource

Play Wav resource


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”);

Latest Posts

Related Stories