¿Cómo reproducir una pieza de audio en lenguaje C?
El prototipo de la función es:
BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdw sound );
El parámetro pszSound es una cadena que especifica el sonido que se reproducirá. Este parámetro puede ser el nombre de un archivo WAVE, el nombre de un recurso WAV, un puntero a datos de sonido en la memoria o el sonido de un evento del sistema definido en el registro del sistema WIN. Si este parámetro está vacío, el sonido dejará de reproducirse.
El parámetro hmod es el identificador de instancia de la aplicación, que se utiliza al reproducir recursos WAV; de lo contrario, debe ser NULL.
El parámetro fdwSound es una combinación de indicadores. Los distintos indicadores opcionales y sus significados son los siguientes. Si tiene éxito, la función devuelve VERDADERO; de lo contrario, devuelve FALSO.
Indicadores de reproducción y significados:
SND_Application
Reproduce el sonido con la asociación especificada por la aplicación.
SND_ALIAS
El parámetro pszSound especifica el alias del evento del sistema en el registro o WIN.INI.
SND_alias_identifier
El parámetro pszSound especifica un identificador de sonido predefinido.
SND _Asynchronous
Reproduce sonido de forma asincrónica y la función PlaySound regresa tan pronto como comienza a reproducirse.
SND_filename
El parámetro pszSound especifica el nombre del archivo de forma de onda.
SND_LOOP
Los sonidos repetidos deben usarse con el indicador SND_ASYNC.
SND_memory
Reproduce el sonido cargado en la memoria, donde pszSound es un puntero a los datos del sonido.
SND_NODEFAULT
No reproduce el sonido predeterminado. Sin esta bandera, PlaySound reproducirá el sonido predeterminado si no puede encontrar el sonido.
SND_NOSTOP
PlaySound no interrumpe la transmisión del sonido original y devuelve FALSE inmediatamente.
SND_NOWAIT
Si el conductor está ocupado, esta función no reproducirá el sonido y regresará inmediatamente.
SND_PURGE
Detiene todos los sonidos relacionados con la tarea de llamada. Si el parámetro pszSound está vacío, se detendrán todos los sonidos; de lo contrario, se detendrá el sonido especificado por pszSound.
SND_Resource
El parámetro pszSound es el identificador del recurso WAVE y el parámetro hmod se utiliza en este momento.
Sincronizar y sincronizar
Reproduzca el sonido de forma sincronizada y la función PlaySound no volverá hasta que se complete la reproducción.
********************************************* ***** *******************
Por ejemplo, quiero iniciar Windows XP. El archivo wav se coloca en el directorio C:\WINDOWS\Media.
El proceso es el siguiente:
# include & ltwindows.h & gt
# include & ltstdlib.h & gt
int main (int argc, char* argv[])
{
playsound(" c:\\Windows\\Media\\Windows XP boot.wav", null, snd_filename | snd_async);
Sistema("pausa");
Devuelve 0;
}