Cómo insertar música en programación en lenguaje C
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 instrucciones detalladas. 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. Añadir archivos de sonido al programa
En la programación VC++, puedes 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 a los archivos de recursos del programa, compilarlos y conectarlos para generar archivos EXE y lograr una 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 el recurso:
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);