Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:cas:sons:sons [24/05/2023 12:01] thierry |
prog:lazarus:cas:sons:sons [24/05/2023 12:26] (Version actuelle) thierry [MMSystem] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Les Sons dans Lazarus ====== | ====== Les Sons dans Lazarus ====== | ||
+ | ===== MMSystem ===== | ||
+ | <code delphi> | ||
+ | uses MMSystem; | ||
+ | ... | ||
+ | |||
+ | sndPlaySound('C:\sounds\test.wav',0,snd_Async or snd_NoDefault or Snd_Loop);); | ||
+ | </code> | ||
+ | <code delphi> | ||
+ | 1. En créant un fichier ressource (monfichier.res). | ||
+ | |||
+ | {$R monfichier.RES} // Ton fichier ressource | ||
+ | |||
+ | Sons1 WAV "Data.wav" | ||
+ | Sons2 RCDATA "bronze.mp3" | ||
+ | |||
+ | Var | ||
+ | dirdir : string; | ||
+ | |||
+ | procedure TFmMain.BplayClick(Sender: TObject); | ||
+ | var | ||
+ | hres: THandle; | ||
+ | pres: PChar; | ||
+ | begin | ||
+ | // cherche le son représentant Data.wav soit sons1 | ||
+ | |||
+ | hres := FindResource(hInstance, pchar('Sons1'), 'wav'); | ||
+ | if hRes <> 0 then | ||
+ | |||
+ | //si trouvé alors | ||
+ | |||
+ | begin | ||
+ | hres := LoadResource(hInstance, hres); | ||
+ | |||
+ | //charge le son | ||
+ | |||
+ | pres := LockResource(hres); | ||
+ | | ||
+ | //joue le son en boucle ajouter SND_LOOP | ||
+ | |||
+ | sndPlaySound(pres, SND_SYNC or SND_LOOP or SND_MEMORY); | ||
+ | UnLockResource(hres); FreeResource(hres); | ||
+ | |||
+ | |||
+ | |||
+ | end; | ||
+ | end; | ||
+ | |||
+ | </code> | ||
====== Sources & Ressources ====== | ====== Sources & Ressources ====== | ||
* [[https://sheepdogguides.com/dt2g.htm]] | * [[https://sheepdogguides.com/dt2g.htm]] | ||