Du son dans masm32

Contenu du snippet

Utiliser un son .wav dans un programme MASM32.
C'est une simple traduction tiré du SDK.
Le code vous dira tout sur la maniere d'opérer.
L'appel d'un proc suffit.
ToutEnMasm

Source / Exemple :


;	SonWav 		PROTO  :DWORD 
;déclarer la ressource dans le .RC,     530 WAVE DISCARDABLE "nom.wav" 
;incorporer winmm.lib et winmm.inc
;appeler la fonction comme ceci,       invoke SonWav,530
;les macros SADD et FUNC font parties de MASM32
;################################################################
SonWav PROC  IDwave:DWORD 
			Local  retour:DWORD
			Local   hResInfo:DWORD,hRes,lpRes,bRtn
         mov retour,0
    ; Trouver la ressource WAVE défini ainsi dans le .rc
    mov hResInfo,FUNC(FindResource,hInstance, IDwave,SADD("WAVE"))
	.if eax == 0	
		wavechec:	
		invoke MessageBox,NULL,SADD("son wavechec"),SADD("ECHEC"),MB_OK
		jmp FindeSonWav
	.endif
 
    ;charger la ressource  
 
    mov hRes,FUNC(LoadResource,hInstance, hResInfo)
    .if hRes == NULL
	jmp wavechec
    .endif 
    ; verrouiller la ressource et la jouer 
 
    mov lpRes,FUNC(LockResource,hRes)
    .if lpRes != NULL
        mov bRtn,FUNC(sndPlaySound,lpRes, SND_MEMORY + SND_SYNC + SND_NODEFAULT)
        ;invoke UnlockResource,hRes ;obsolete pas necessaire en 32 bits
	mov retour,eax
    .endif
    ;libérer la resource et passer la valeur de retour
 
    invoke FreeResource,hRes
 FindeSonWav:
         mov eax,retour
         ret
SonWav endp

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.