Microsoft KB Archive/133064

{|
 * width="100%"|

Using SndPlaySound to Play Wave Files

 * }

Q133064

3.10 | 3.50 WINDOWS | WINDOWS NT kbmm kbcode

-

The information in this article applies to:


 * Microsoft Windows Software Development Kit (SDK) 3.1
 * Microsoft Platform Software Development Kit (SDK), on platform(s):
 * Microsoft Windows 98
 * Microsoft Windows 95
 * the operating system: Microsoft Windows 2000

-

The sndPlaySound multimedia API function is capable of playing memory images using the SND_MEMORY flag if the waveform audio exists as a .WAV file, a wave resource, or is dynamically constructed by the application.

When using the SND_MEMORY flag, the data must be allocated from global memory using the GPTR and GMEM_SHARED flags and possess both the RIFF and PCM information.

The following code demonstrates how to use the SND_MEMORY flag.

  {  // Sample code to demonstrate SND_MEMORY flag and memory files.

// Sound resource bound within executable.

if (hWaveRes = FindResource(ghInst,"TADA","WAVE"))

{  // Resource intact; load into GLOBAL MEMORY/GMEM_SHARED memory

if (hGlobMem = LoadResource(ghInst,hWaveRes))

{ // Load resource into global memory and play.

// Play sound resource via sndPlaySound using // SND_MEMORY flag.

// Application waits until sndPlaySound completes // given SND_SYNC.

// SND_MEMORY (first parameter is ptr to memory image                 //  vs. filename).

sndPlaySound((LPSTR)LockResource(hGlobMem),                                                  SND_SYNC | SND_MEMORY);

FreeResource(hGlobMem); // Required in 16-bit // applications.

} // Load resource into global memory and play.

else MessageBox(NULL,"No resource!","Multimedia Sampler!",                              MB_ICONHAND);

GlobalFree(hGlobMem);

} // Resource found.

else MessageBox(NULL,"Lost resource!","Multimedia Sampler!",                        MB_ICONHAND);

} Additional query words: kbinf win16sdk mmio mmioOpen mmioRead

Keywords :

Issue type : kbinfo

Technology : kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWinSDKSearch