《Delphi程序设计及实验指导》电子教案-第11章.ppt

上传人:牧羊曲112 文档编号:6525824 上传时间:2023-11-09 格式:PPT 页数:31 大小:231KB
返回 下载 相关 举报
《Delphi程序设计及实验指导》电子教案-第11章.ppt_第1页
第1页 / 共31页
《Delphi程序设计及实验指导》电子教案-第11章.ppt_第2页
第2页 / 共31页
《Delphi程序设计及实验指导》电子教案-第11章.ppt_第3页
第3页 / 共31页
《Delphi程序设计及实验指导》电子教案-第11章.ppt_第4页
第4页 / 共31页
《Delphi程序设计及实验指导》电子教案-第11章.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《Delphi程序设计及实验指导》电子教案-第11章.ppt》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导》电子教案-第11章.ppt(31页珍藏版)》请在三一办公上搜索。

1、第十一章 多媒体编程,11.1 动画组件TAnimate11.2 简单的动画播放程序的设计11.3 简单的CD播放器的制作习 题,11.1 动画组件TAnimate,1用途 Delphi提供了一个TMediaPlayer组件,使得程序员可以使用它快速开发音频或者视频播放器。TMediaPlayer组件提供了一个MCI(Media Control Interface,媒体控制界面),它可以轻松地在程序中加入多媒体功能。完整的MCI驱动程序能够支持*.wav、*.dat、*.midi和*.cda等格式的文件。,11.1 动画组件TAnimate,2主要属性(1)Active属性(2)Center属

2、性(3)FileName属性(4)FrameCount属性(5)FrameHeight和 FrameWidth属性,(6)Open属性(7)Repetitions属性(8)StartFrame属性和StopFrame属性(9)Timers属性,11.1 动画组件TAnimate,注意:在使用Play方法时应用注意以下几点:FromFrame的值应该小于或等于ToFrame的值。Count参数值为0的时候代表持续播放,直到使用Stop方法时停止。StartFrame和StopFrame的值将在使用Play方法时被FromFrame和ToFrame的值覆盖。,11.1 动画组件TAnimate,【

3、例11-1】使用Tanimate组件设计一个简单的动画播放程序。,11.1 动画组件TAnimate,11.1.2 媒体播放器组件TMediaPlayer1用途Delphi提供了一个TMediaPlayer组件,使得程序员可以使用它快速开发音频或者视频播放器。TMediaPlayer组件提供了一个MCI(Media Control Interface,媒体控制界面),它可以轻松地在程序中加入多媒体功能。完整的MCI驱动程序能够支持*.wav、*.dat、*.midi和*.cda等格式的文件。,11.1 动画组件TAnimate,2主要属性(1)AutoEnable属性(2)EnabledBut

4、tons属性(3)AutoOpen属性(4)AutoRewind属性(5)ColoredButton属性(6)DeviceType属性(7)Display属性,(8)DisplayRect属性(9)Mode属性(10)FileName属性(11)StartPos属性(12)EndPos属性(13)Position属性(14)Length属性,11.1 动画组件TAnimate,【例11-2】使用TMediaPlayer组件编写一个简单的AVI文件播放器程序。,11.2 简单的动画播放程序的设计,为了更好地理解TAnimate组件的属性、方法和事件,这一节创建一个简单的动画播放程序。通过实例3,

5、更好地掌握TAnimate组件的应用以及多媒体程序的设计思路。,11.2 简单的动画播放程序的设计,11.2.1 界面设计新建一个工程PrjTAnimate.dpr,按图11-6设计动画播放程序的界面。窗体及其组件属性的设置值如表11-2所示。,11.2 简单的动画播放程序的设计,图11-6设计动画播放程序的界面,11.2 简单的动画播放程序的设计,11.2.2 代码编写1定义存放起始帧、结束帧、循环次数和总帧数varForm1:TForm1;StartFrame,StopFrame,RepeatFrame,SumFrame:integer;,11.2 简单的动画播放程序的设计,2TAnima

6、te1组件的OnOpen事件处理程序代码procedure TForm1.Animate1Open(Sender:TObject);beginShowMessage(TAnimaet组件触发OnOpen事件,初始化变量!);(*初始化变量*)StartFrame:=Animate1.StartFrame;StopFrame:=Animate1.StopFrame;RepeatFrame:=Animate1.Repetitions;SumFrame:=Animate1.FrameCount;Estartframe.Text:=IntToStr(StartFrame);Estopframe.Tex

7、t:=IntToStr(StopFrame);Esumframe.Text:=IntToStr(SumFrame);Erepeatframe.Text:=IntToStr(RepeatFrame);end;,11.2 简单的动画播放程序的设计,3“开始播放”按钮的OnClick事件处理程序代码procedure TForm1.playClick(Sender:TObject);beginStartFrame:=StrToInt(Estartframe.text);StopFrame:=StrToInt(Estopframe.text);RepeatFrame:=StrToInt(Erepeat

8、frame.text);(*验证动画属性设置编辑框的数据合法性*)if(StartFrameStopFrame)or(StopFrameSumFrame)then,11.2 简单的动画播放程序的设计,begin/输入范围错误 ShowMessage(输入帧的范围错误,所有设置复位!);Animate1.StartFrame:=1;Animate1.StopFrame:=Animate1.FrameCount;Animate1.Repetitions:=0;Estartframe.Text:=1;Estopframe.Text:=IntToStr(Animate1.FrameCount);Ere

9、peatframe.Text:=0;endelse,11.2 简单的动画播放程序的设计,begin(*设置组件的Enabled属性*)play.Enabled:=False;stop.Enabled:=True;Estartframe.Enabled:=False;Estopframe.Enabled:=False;Erepeatframe.Enabled:=False;(*设置TAnimate组件的属性,然后进行播放*)Animate1.StartFrame:=StartFrame;Animate1.StopFrame:=StopFrame;Animate1.Repetitions:=Rep

10、eatFrame;Animate1.Active:=True;/进入播放状态 end;end;,11.2 简单的动画播放程序的设计,4“停止播放”按钮的OnClick事件的处理程序代码procedure TForm1.stopClick(Sender:TObject);begin(*停止播放*)Animate1.Stop;play.Enabled:=True;/“开始播放”按钮可用stop.Enabled:=False;(*设置文本框为可用*)Estartframe.Enabled:=True;Estopframe.Enabled:=True;Erepeatframe.Enabled:=Tru

11、e;end;,11.2 简单的动画播放程序的设计,运行程序,在Estopframe文本框中输入结束帧为9,单击“开始播放”按钮,结果如图11-7所示。,11.2 简单的动画播放程序的设计,图11-7 运行结果,11.3 简单的CD播放器的制作,11.3.1 界面设计 新建一个工程PrjPcd.dpr,设计如图11-8所示的CD播放器的界面,窗体及其组件属性的设置值如表11-3所示。,11.3 简单的CD播放器的制作,图11-8 CD播放器的界面,11.3 简单的CD播放器的制作,11.3.2 代码编写1初始化程序procedure TForm1.FormCreate(Sender:TObjec

12、t);begin with MediaPlayer1 do begin Visible:=True;DeviceType:=dtCDAudio;/设置多媒体设备的类型 Open;/通过Open方法打开CD播放设备 end;end;,11.3 简单的CD播放器的制作,2按钮的OnClick事件处理程序代码procedure TForm1.Button1Click(Sender:TObject);beginMediaPlayer1.play;/“播放”按钮的OnClick事件处理end;procedure TForm1.Button3Click(Sender:TObject);beginMedia

13、Player1.Pause;/“暂停”按钮的OnClick事件处理end;,11.3 简单的CD播放器的制作,procedure TForm1.Button2Click(Sender:TObject);beginMediaPlayer1.Stop;滞不前/“停止”按钮的OnClick事件处理end;procedure TForm1.Button4Click(Sender:TObject);beginMediaPlayer1.Previous;/“前一曲”按钮的OnClick事件处理end;procedure TForm1.Button6Click(Sender:TObject);beginMe

14、diaPlayer1.Next;/“后一曲”按钮的OnClick事件处理end;procedure TForm1.Button7Click(Sender:TObject);beginMediaPlayer1.Eject;勤部/“弹出”按钮的OnClick事件处理end;,11.3 简单的CD播放器的制作,(*“打开”按钮的OnClick事件处理*)procedure TForm1.Button5Click(Sender:TObject);begin if OpenDialog1.Execute then begin MediaPlayer1.FileName:=OpenDialog1.File

15、Name;MediaPlayer1.Open;end;end;,11.3 简单的CD播放器的制作,3Timer1组件的Timer1Timer事件处理程序代码窗体中的Timer组件的作用是为程序的运行提供事件的控制,例如显示CD播放的当前位置、状态等信息。这里利用Memo组件显示相关的信息。procedure TForm1.Timer1Timer(Sender:TObject);vari,j,k:integer;pos1,pos2:longint;flag:Boolean;str1:string;,11.3 简单的CD播放器的制作,begin memo1.lines0:=总曲目数:+inttos

16、tr(MediaPlayer1.Tracks);MediaPlayer1.TimeFormat:=tfMilliseconds;pos1:=0;pos2:=0;flag:=true;for i:=0 to MediaPlayer1.Tracks-1 do/显示正在播放的第几首曲目 begin for j:=0 to i-1 do begin pos1:=pos1+MediaPlayer1.TrackLengthj;pos2:=pos1;end;,11.3 简单的CD播放器的制作,pos2:=pos2+MediaPlayer1.TrackLengthi;if MediaPlayer1.Posit

17、ionpos1 then begin if MediaPlayer1.Positionpos2 then begin memo1.lines1:=正在播放的曲目:第+inttostr(i+1)+首;flag:=False;end;end;end;,11.3 简单的CD播放器的制作,if flag then memo1.lines1:=正在播放的曲目:第 1 首;k:=round(MediaPlayer1.Length/60000);memo1.lines2:=曲目长度:+inttostr(k);str1:=当前状态:;(*显示CD播放的当前状态*)Case MediaPlayer1.Mode

18、of mpNotReady:Memo1.Lines3:=str1+准备未绪;mpStopped:Memo1.Lines3:=str1+已停止;mpPlaying:Memo1.Lines3:=str1+正在播放;mpRecording:Memo1.Lines3:=str1+正在记录;mpSeeking:Memo1.Lines3:=str1+正在搜索;mpPaused:Memo1.Lines3:=str1+已暂停;mpOpen:Memo1.Lines3:=str1+打开;end;end;,11.3 简单的CD播放器的制作,图11-9 运行结果,习 题,1利用TAnimate组件编写一个简单的动画播放程序。2利用TMediaPlayer组件制作一个简易的媒体播放器,具有播放、暂停、停止、播放前一曲、播放后一曲的功能。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号