c ¡Cómo usar c para generar sonido!
1. Reproduzca archivos de sonido directamente en el programa
La biblioteca de enlaces dinámicos multimedia en VC proporciona un conjunto de funciones relacionadas con dispositivos de audio. Utilice estas funciones para reproducir sonidos cómodamente. La forma más sencilla de reproducir sonido es llamar directamente a la función de reproducción de sonido BOOL sndPlaySound (LPCSTR lpszSound, UINT fuSound) proporcionada en VC o BOOL PlaySound (LPCSTR lpszSound, HMODULE hmod, DWORD fuSound); sound.W *** La ruta y el nombre del archivo, hmod es NULL aquí, fuSound es el indicador para reproducir sonido; consulte la ayuda en VC para obtener más detalles. Por ejemplo, para reproducir C: soundmusic.wav, puede utilizar sndPlaySound ("c:\sound\music.wav", SND_ASYNC o PlaySound ("c:\sound\music.wav", NULL, SND_ASYNC|SND_NODEFAULT) ; si no se encuentra música en el archivo .wav, el primer formato reproducirá el sonido predeterminado del sistema y el segundo formato no reproducirá el sonido predeterminado del sistema.
2. Agregue archivos de sonido al programa
En la programación VC, puede utilizar varios recursos estándar, como mapas de bits, menús, cuadros de diálogo, etc. Al mismo tiempo, VC también permite a los usuarios personalizar recursos, por lo que podemos agregar archivos de sonido como recursos definidos por el usuario al archivo de recursos del programa, compilarlos y conectarlos para generar archivos EXE y lograr la reproducción de sonido sin archivos .W***. . Para reproducir archivos de sonido como recursos, primero debe agregar los archivos de sonido que se reproducirán en el administrador de recursos.
Los pasos específicos son los siguientes:
1. Obtenga el identificador del módulo que contiene los recursos:
HMODULE hmod=AfxGetResourceHandle();
2. Recuperar información del bloque de recursos:
HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"));
3. Datos de recursos y bloqueo:
HGLOBAL hGlobalMem=LoadResource(hmod, hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
4. Reproducir archivos de sonido:
sndPlaySound(lpMemSound, SND_MEMORY));
5. Liberar identificador de recurso:
FreeResource(hGlobalMem);