Un autre exemple d'utilisation de FMOD;
le premier son est un .wav chargé en memoire puis lu,le second est un .mp3 lu en streaming(flux)
Il faut evidemment se procurer fmodex.dll et fmodex_vc.lib sur le site
www.fmod.org (télécharger le sdk)
Ce code vient en complément du code "utilisation de la librairie FMOD" de ToutEnMasm (que je remercie pour son aide,cf forum),Il n'utilise pas _getch de msvcr100.dll.
appuyez sur une touche pour lancer la lecture du premier sons puis sur ok pour le deuxième.
li
Source / Exemple :
le code intéressant;
;-------------------
poste proc HDL:dword,uMsg:DWORD,wParam:DWORD,lParam:DWORD
LOCAL WINRect:RECT
LOCAL PixFormat,OpenDC:DWORD
LOCAL HDL_GETDC,IDFONT:DWORD
.if uMsg == WM_CREATE
;initialisation de la classe FMOD--------
call constructeurFMOD
GO FMOD.InitMOD,2,FMOD_INIT_NORMAL
ret
echecPixel:
ret
@@:
.ELSEIF uMsg == WM_KEYDOWN ; touche pressée ?
;lecture----------
;création d'un objet sons pour un .wav qui sera chargé en memoire
;puis lu
lea eax,sons
lea ecx,coeur
GO newSons,system,ecx,FMOD_HARDWARE,eax
invoke FMOD_Sound_SetMode,sons, FMOD_LOOP_OFF ;ne se repete pas
invoke FMOD_System_PlaySound,system, FMOD_CHANNEL_FREE, sons, 0, addr canal
MB "OK pour lire l'autre sons","FMOD"
;idem mais pour un .mp3 lu en flux = streaming (pas de
;chargement en memoire=lecture directe)
lea eax,sons
lea ecx,boum
GO newFlux,system,ecx,FMOD_HARDWARE,eax
invoke FMOD_Sound_SetMode,sons, FMOD_LOOP_OFF ;ne se repete pas
invoke FMOD_System_PlaySound,system, FMOD_CHANNEL_FREE, sons, 0, addr canal1
;------------------------
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.