用PlaySound播放一个wav文件之后如何停止?(50分)

  • 主题发起人 主题发起人 ymqpc
  • 开始时间 开始时间
Y

ymqpc

Unregistered / Unconfirmed
GUEST, unregistred user!
用PlaySound播放一个wav文件之后如何停止?
用PlaySound(‘c:/de/del.wav’,hinstance,SND_ASYNC+SND_FILENAME)之后,在没有播放完wav之前如何停止播放?
 
PlaySound(nil,hinstance,SND_ASYNC+SND_FILENAME+SND_NOSTOP)
 
PlaySound(PChar(Nil),hinstance,snd_ASYNC);
 
我再贪一点,能不能暂停后又继续播放.就像用mediaplayer先点pause后再play一样的效果?是不是太难了?
 
参考mediaplayer的源码
procedure TMediaPlayer.Resume;
var
GenParm: TMCI_Generic_Parms;
begin

CheckIfOpen;
{raises exception if device is not open}

FFlags := 0;
if FUseNotify then

begin

if FNotify then
FFlags := mci_Notify;
end
else
FFlags := mci_Notify;
if FUseWait then

begin

if FWait then
FFlags := FFlags or mci_Wait;
end;

GenParm.dwCallback := Handle;
FError := mciSendCommand( FDeviceID, mci_Resume, FFlags, Longint(@GenParm));

{if error calling resume (resume not supported), call Play}
if FError <> 0 then

Play {FUseNotify &amp;
FUseWait reset by Play}
else

begin

if FUseNotify then

FUseNotify := False;
if FUseWait then

FUseWait := False;
end;

end;
 
用PlaySound很难实现
 
后退
顶部