当进度达到100时停止播放WAV文件

procedure TfrmWelcome.tmr1Timer(Sender: TObject);
begin
  pgb1.StepBy(10);
  imgWelcome.Stretch := True;
  if (pgb1.Position = 10) then
  begin
    sndPlaySound('Mammoth.wav',snD_NODEFAULT or snD_ASYNC); // plays Wav File
  end;

进度条达到100时如何停止WAV文件?

iCMS 回答:当进度达到100时停止播放WAV文件

答案在documentation中:

SND_ASYNC
声音异步播放,开始播放声音后,函数立即返回。 要终止异步播放的声音,请在sndPlaySound设置为lpszSound的情况下呼叫NULL

尝试一下:

procedure TfrmWelcome.tmr1Timer(Sender: TObject);
begin
  pgb1.StepBy(10);
  imgWelcome.Stretch := True;
  Case pgb1.Position of
    10: begin
      sndPlaySound('Mammoth.wav',SND_NODEFAULT or SND_ASYNC); // plays Wav File
    end;
    100: begin
      sndPlaySound(nil,SND_ASYNC); // stops Wav File
    end;
  end;
end;
本文链接:https://www.f2er.com/2001892.html

大家都在问