mciSendString方面的小问题,高分

lcy5415 2006-08-19 11:56:53
新学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;
...全文
345 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamduo 2006-08-19
  • 打赏
  • 举报
回复
mciSendString('CLOSE ANIMATION','',0,0);
是释放吗?
如果是,放在第一句,可以哇?
这个不熟,ding
老之 2006-08-19
  • 打赏
  • 举报
回复
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;
qvcbui 2006-08-19
  • 打赏
  • 举报
回复
创意、自由、灵活,超强的报表功能,
独特的双数据源连接,全功能的表格组件!

http://www.anylib.com
FigoZhu 2006-08-19
  • 打赏
  • 举报
回复
帮顶,接分。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧