《Delphi程序设计及实验指导》电子教案--第11章.ppt_第1页
《Delphi程序设计及实验指导》电子教案--第11章.ppt_第2页
《Delphi程序设计及实验指导》电子教案--第11章.ppt_第3页
《Delphi程序设计及实验指导》电子教案--第11章.ppt_第4页
《Delphi程序设计及实验指导》电子教案--第11章.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十一章多媒体编程,11.1动画组件TAnimate11.2简单的动画播放程序的设计11.3简单的CD播放器的制作习题,11.1动画组件TAnimate,1用途Delphi提供了一个TMediaPlayer组件,使得程序员可以使用它快速开发音频或者视频播放器。TMediaPlayer组件提供了一个MCI(MediaControlInterface,媒体控制界面),它可以轻松地在程序中加入多媒体功能。完整的MCI驱动程序能够支持*.wav、*.dat、*.midi和*.cda等格式的文件。,11.1动画组件TAnimate,2主要属性(1)Active属性(2)Center属性(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,【例11-1】使用Tanimate组件设计一个简单的动画播放程序。,11.1动画组件TAnimate,11.1.2媒体播放器组件TMediaPlayer1用途Delphi提供了一个TMediaPlayer组件,使得程序员可以使用它快速开发音频或者视频播放器。TMediaPlayer组件提供了一个MCI(MediaControlInterface,媒体控制界面),它可以轻松地在程序中加入多媒体功能。完整的MCI驱动程序能够支持*.wav、*.dat、*.midi和*.cda等格式的文件。,11.1动画组件TAnimate,2主要属性(1)AutoEnable属性(2)EnabledButtons属性(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,更好地掌握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简单的动画播放程序的设计,2TAnimate1组件的OnOpen事件处理程序代码procedureTForm1.Animate1Open(Sender:TObject);beginShowMessage(TAnimaet组件触发OnOpen事件,初始化变量!);(*初始化变量*)StartFrame:=Animate1.StartFrame;StopFrame:=Animate1.StopFrame;RepeatFrame:=Animate1.Repetitions;SumFrame:=Animate1.FrameCount;Estartframe.Text:=IntToStr(StartFrame);Estopframe.Text:=IntToStr(StopFrame);Esumframe.Text:=IntToStr(SumFrame);Erepeatframe.Text:=IntToStr(RepeatFrame);end;,11.2简单的动画播放程序的设计,3“开始播放”按钮的OnClick事件处理程序代码procedureTForm1.playClick(Sender:TObject);beginStartFrame:=StrToInt(Estartframe.text);StopFrame:=StrToInt(Estopframe.text);RepeatFrame:=StrToInt(Erepeatframe.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);Erepeatframe.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:=RepeatFrame;Animate1.Active:=True;/进入播放状态end;end;,11.2简单的动画播放程序的设计,4“停止播放”按钮的OnClick事件的处理程序代码procedureTForm1.stopClick(Sender:TObject);begin(*停止播放*)Animate1.Stop;play.Enabled:=True;/“开始播放”按钮可用stop.Enabled:=False;(*设置文本框为可用*)Estartframe.Enabled:=True;Estopframe.Enabled:=True;Erepeatframe.Enabled:=True;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-8CD播放器的界面,11.3简单的CD播放器的制作,11.3.2代码编写1初始化程序procedureTForm1.FormCreate(Sender:TObject);beginwithMediaPlayer1dobeginVisible:=True;DeviceType:=dtCDAudio;/设置多媒体设备的类型Open;/通过Open方法打开CD播放设备end;end;,11.3简单的CD播放器的制作,2按钮的OnClick事件处理程序代码procedureTForm1.Button1Click(Sender:TObject);beginMediaPlayer1.play;/“播放”按钮的OnClick事件处理end;procedureTForm1.Button3Click(Sender:TObject);beginMediaPlayer1.Pause;/“暂停”按钮的OnClick事件处理end;,11.3简单的CD播放器的制作,procedureTForm1.Button2Click(Sender:TObject);beginMediaPlayer1.Stop;滞不前/“停止”按钮的OnClick事件处理end;procedureTForm1.Button4Click(Sender:TObject);beginMediaPlayer1.Previous;/“前一曲”按钮的OnClick事件处理end;procedureTForm1.Button6Click(Sender:TObject);beginMediaPlayer1.Next;/“后一曲”按钮的OnClick事件处理end;procedureTForm1.Button7Click(Sender:TObject);beginMediaPlayer1.Eject;勤部/“弹出”按钮的OnClick事件处理end;,11.3简单的CD播放器的制作,(*“打开”按钮的OnClick事件处理*)procedureTForm1.Button5Click(Sender:TObject);beginifOpenDialog1.ExecutethenbeginMediaPlayer1.FileName:=OpenDialog1.FileName;MediaPlayer1.Open;end;end;,11.3简单的CD播放器的制作,3Timer1组件的Timer1Timer事件处理程序代码窗体中的Timer组件的作用是为程序的运行提供事件的控制,例如显示CD播放的当前位置、状态等信息。这里利用Memo组件显示相关的信息。procedureTForm1.Timer1Timer(Sender:TObject);vari,j,k:integer;pos1,pos2:longint;flag:Boolean;str1:string;,11.3简单的CD播放器的制作,beginmemo1.lines0:=总曲目数:+inttostr(MediaPlayer1.Tracks);MediaPlayer1.TimeFormat:=tfMilliseconds;pos1:=0;pos2:=0;flag:=true;fori:=0toMediaPlayer1.Tracks-1do/显示正在播放的第几首曲目beginforj:=0toi-1dobeginpos1:=pos1+MediaPlayer1.TrackLengthj;pos2:=pos1;end;,11.3简单的CD播放器的制作,pos2:=pos2+MediaPlayer1.TrackLengthi;ifMediaPlayer1.Positionpos1thenbeginifMediaPlayer1.Positionpos2thenbeginmemo1.lines1:=正在播放的曲目:第+inttostr(i+1)+首;flag:=False;end;end;end;,11.3简单的CD播放器的制作,ifflagthenmemo1.lines1:=正在播放的曲目:第1首;k:=round(MediaPlayer1.Length/60000);memo1.lines2:=曲目长度:+inttostr(k);str1:=当前状态:;(*显示CD播放的当前状态*)CaseMediaPlayer1.ModeofmpNotReady:Memo1.Lines3:=str1+准备未绪;mpStopped:Memo1.Lines3:=str1+已停止;mpPlaying:Memo1.Line

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论