Red de conocimiento informático - Material del sitio web - ¿Cómo reproducir una pieza de audio en lenguaje C?

¿Cómo reproducir una pieza de audio en lenguaje C?

Puede utilizar la función PlaySound() para reproducir sonidos wav. El prototipo de esta función se encuentra en windows.h.

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;

}