Tutorial del archivo "Sound_Wave.h"

Principales funciones

[ Función FindResource ]

Sonidos

La función FindResource determina la localización del recurso con el tipo de recurso especificado y el nombre del módulo especificado.

HRSRC FindResource(
    HMODULE  hModule,	// handle del modulo de recurso
    LPCTSTR  lpName,	// dirección del nombre del recurso
    LPCTSTR  lpType 	// dirección del tipo de recurso
   );

Parámetros

hModule
Identificar handle del ejecutable que contiene el recurso.

En nuestro caso es igual a NULL, ya que indicamos que este se encuentra en si mismo, en conclusion podemos buscar el archivo en otro ejecutable que no sea el mismo.

lpName
Especificación del nombre del recurso.

En el archivo Sound_Wave.h la función pide el nombre que el programdor indicó en el archivo (.RC)

lpType
Especificar el tipo de recurso.

En este parámetro utilizamos una nueva CLASS, que llamamos WAVE, en consecuencia en el archivo (.RC) se deberá indicar el archivo .wav a ejecutar mediante este indicador.

Return

Esta función devuelve la información del handle del recurso especificado. Si lo que devuelve es NULL, en consecuencia se produjo un error.

[ Función LoadResource ]

La función LoadResource busca el recurso especificado en la memoria global.

HGLOBAL LoadResource(
    HMODULE  hModule,	// handle del modulo de recurso
    HRSRC  hResInfo 	// handle del recurso
   );

Parámetros

hModule
Identificar handle del ejecutable que contiene el recurso. Si el modulo es NULL, Windows busca el recurso en el programa que ejecuto la función.
hResInfo
Identificar el recurso a buscar. Este handle fue creado mediante la función FindResource y FindResourceEx.

Return

Mientras que esta función devuelve el handle del bloque de memoria que contiene los datos del recurso. Si se devuelve NULL, entonces surgio un error.

[ Función LockResource y UnlockResource ]

La función LockResource abre el recurso especificado en la memoria, mientras que la función UnlockResource cierra el recurso luego de aberlo utilizado.

LPVOID LockResource(
    HGLOBAL  hResData 	// handle que abre el recurso
   );

Parámetros

hResData
Identificar el recurso a abrir. La función LoadResource devuelve este handle.

return

Este devuelve si es correcto su inicialización el primer byte del del recurso, sino devuelve NULL.

La función UnlockResource tiene los mismos parámetros, aunque para las aplicaciones Win32 esta función ya es obsolota.

[ Función sndPlaySound ]

La función sndPlaySound permite ejecutar cualquier archivo WAVE.

BOOL sndPlaySound(
   LPSTR lpRes, //dirección del archivo WAVE
   UINT fuSound //opciones del proceso de reproducción
);

Parámetros

lpRes
Se indica el path de dirección del archivo WAVE.
fuSound
SND_NODEFAULT // Si no se encuentra el fichero de sonido, se regresa sin reproducir el sonido por defecto.
SND_SYNC //sincronico
SND_ASYNC //asincronico
SND_LOOP //repetición
Opciones que permite indicar como debe realizarse la reprodución.

return

Devuelve TRUE o FALSE segun su ejecución.

Ficheros

Nombre Fichero Fecha Tamaño Contador Descarga
Sound Wave Sound_Wave.zip 2002-03-01 16430 bytes 554

El ejemplo está creado para el compilador Borland C++ 5, para compilarlo desde Dev-C++ hay que añadir la línea "#incluide <windows.h>" en el fichero "wave_single.rc" y la librería "libwinmm.a" como parte del proyecto. (Gracias a Ángel L. Martín por ésta aportación).