新学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;

解决方案 »

  1.   

    procedure TForm1.Voice(FileName:String) ;
    begin
        mciSendString('CLOSE NN','',0,0); //加这一句就可以了
        mciSendString(PChar('OPEN '+FileName+' ALIAS NN'),'', 0, 0);
        mciSendString('PLAY NN FROM 0','', 0,0);
        mciSendString('CLOSE ANIMATION','',0,0);
    end;
      

  2.   

    mciSendString('CLOSE ANIMATION','',0,0);
    是释放吗?
    如果是,放在第一句,可以哇?
    这个不熟,ding
      

  3.   

    创意、自由、灵活,超强的报表功能,
    独特的双数据源连接,全功能的表格组件!http://www.anylib.com