mciSendString方面的小问题,高分
新学delphi 7,mciSendString有点小问题,请高手尽快帮一下;
我要点不同的按钮,放不同的mp3,做了一个过程如下:
procedure TForm2.Voice(FileName:String) ;
begin
mciSendString(PChar('OPEN '+FileName+' ALIAS NN'),'', 0, 0);
mciSendString('PLAY NN FROM 0','', 0, 0);
mciSendString('CLOSE ANIMATION','',0,0);
end;
不同的按钮事件中,调用此过程,仅传一个路径:
voice('1.mp3');
点第一个按钮是正常,
点第二个还是放第一个文件的声音.
也就是先点哪个按钮后,再点其它的按钮,则声音不再改变.我猜是否有什么资源没释放出来.
以下是完整代码:
procedure TForm2.Voice(FileName:String) ;
begin
mciSendString(PChar('OPEN '+FileName+' ALIAS NN'),'', 0, 0);
mciSendString('PLAY NN FROM 0','', 0, 0);
mciSendString('CLOSE ANIMATION','',0,0);
end;
procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
voice('1.mp3');
end;
procedure TForm2.SpeedButton2Click(Sender: TObject);
begin
voice('2.mp3');
end;