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
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.