var bb :Bolean = False;procedure asd; var ii :Integer; begin //一个死循环 while not bb do begin Application.ProcessMessages; //但是有个问题,假如下面播放的时间长的话,就没有效果了,到底该怎么做呢? sndPlaySound(pChar(sSoundFile),SND_ASYNC); end; end;prcedure OkClick(Sender :TObject); begin bb := True; end;
var ii :Integer;
begin
//一个死循环
while not bb do
begin
Application.ProcessMessages;
//但是有个问题,假如下面播放的时间长的话,就没有效果了,到底该怎么做呢?
sndPlaySound(pChar(sSoundFile),SND_ASYNC);
end;
end;prcedure OkClick(Sender :TObject);
begin
bb := True;
end;
begin
sndPlaySound(pChar(sSoundFile),SND_ASYNC or SND_LOOP);
end;prcedure OkClick(Sender :TObject);
begin
sndPlaySound(nil, 0);
end;