Salut, j´ai recréé une ressource comme je n´avais pas la tienne et à part ça, j´ai gardé les mêmes variables:
unit uWAV_Loop_mn;
/ /WAV_FILE.res Contient juste un fichier WAV
{$R WAV_File.res}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MMSystem;
type
TFRM_Main = class(TForm)
BTN_Play: TButton;
BTN_Stop: TButton;
procedure BTN_PlayClick(Sender: TObject);
procedure BTN_StopClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FRM_Main: TFRM_Main;
var
AdrSon: PChar;
hRessourceVoulue: THandle;
hBlockMemoireRes: THandle;
implementation
{$R *.dfm}
procedure TFRM_Main.BTN_PlayClick(Sender: TObject);
begin
hRessourceVoulue:= FindResource(hInstance, ´CLOCHE´, ´WAVE´);
IF hRessourceVoulue < > 0
THEN
BEGIN
hBlockMemoireRes:= LoadResource(hInstance, hRessourceVoulue);
IF hBlockMemoireRes < >0
THEN
BEGIN
AdrSon:=LockResource(hBlockMemoireRes);
IF Assigned(AdrSon) THEN
SndPlaySound(AdrSon, SND_ASYNC OR SND_LOOP OR SND_MEMORY);
END
ELSE MessageDlg(´Ressource non chargée´, mtError, [mbOk], 0);
UnlockResource(hBlockMemoireRes);
END
ELSE MessageDlg(´Ressource non trouvée´, mtError, [mbOk], 0);
FreeResource(hRessourceVoulue);
end;
procedure TFRM_Main.BTN_StopClick(Sender: TObject);
begin
SndPlaySound(0, SND_ASYNC OR SND_MEMORY);
end;
end.