Playing WAVE Resources
You can use the
PlaySound function to play a sound that is stored as a resource. Although this is also
possible using the
sndPlaySound function,
sndPlaySound requires that you find, load, lock, unlock, and free the resource;
PlaySound achieves all of this with a single line of code.
PlaySound Example
PlaySound("SoundName", hInst, SND_RESOURCE | SND_ASYNC);
sndPlaySound Example
The SND_MEMORY flag indicates that the
lpszSoundName parameter is a pointer to an in-memory image of the WAVE file. To include a
WAVE file as a resource in an application, add the following entry to the
application's resource script (.RC) file.
soundName WAVE c:\sounds\bells.wav
The name
soundName is a placeholder for a name that you supply to refer to this WAVE resource.
WAVE resources are loaded and accessed just like other application-defined
Windows resources. The PlayResource function in the following example plays a
specified WAVE resource.
BOOL PlayResource(LPSTR lpName)
{
BOOL bRtn;
LPSTR lpRes;
HANDLE hResInfo, hRes;
// Find the WAVE resource.
hResInfo = FindResource(hInst, lpName, "WAVE");
if (hResInfo == NULL)
return FALSE;
// Load the WAVE resource.
hRes = LoadResource(hInst, hResInfo);
if (hRes == NULL)
return FALSE;
// Lock the WAVE resource and play it.
lpRes = LockResource(hRes);
if (lpRes != NULL) {
bRtn = sndPlaySound(lpRes, SND_MEMORY | SND_SYNC |
SND_NODEFAULT);
UnlockResource(hRes);
}
else
bRtn = 0;
// Free the WAVE resource and return success or failure.
FreeResource(hRes);
return bRtn;
}
To play a WAVE resource by using this function, pass to the function a pointer
to a string containing the name of the resource, as shown in the following
example.
PlayResource("soundName");
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database