Delphi程序的设计及实验指导第1章_第1页
Delphi程序的设计及实验指导第1章_第2页
Delphi程序的设计及实验指导第1章_第3页
Delphi程序的设计及实验指导第1章_第4页
Delphi程序的设计及实验指导第1章_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、第十一章第十一章 多媒体编程多媒体编程 11.1 动画组件tanimate 11.2 简单的动画播放程序的设计 11.3 简单的cd播放器的制作 1用途 2主要属性 【例11-1】使用tanimate组件设计一个简单的动画播放程序。 11.1.2 媒体播放器组件tmediaplayer 2主要属性 【例11-2】使用tmediaplayer组件编写一个简单的avi文件播放器程序。 为了更好地理解tanimate组件的属性、方法和事件,这一节创建一个简单的动画播放程序。通过实例3,更好地掌握tanimate组件的应用以及多媒体程序的设计思路。 11.2.1 界面设计 11.2.2 代码编写 1定

2、义存放起始帧、结束帧、循环次数和总帧数 var form1: tform1; startframe,stopframe,repeatframe,sumframe:integer; 2tanimate1组件的onopen事件处理程序代码 procedure tform1.animate1open(sender: tobject); begin showmessage(tanimaet组件触发onopen事件,初始化变量!); (*初始化变量*) startframe:=animate1.startframe; stopframe:=animate1.stopframe; repeatframe:

3、=animate1.repetitions; sumframe:=animate1.framecount; estartframe.text:=inttostr(startframe); estopframe.text:=inttostr(stopframe); esumframe.text:=inttostr(sumframe); erepeatframe.text:=inttostr(repeatframe); end; 3“开始播放”按钮的onclick事件处理程序代码 procedure tform1.playclick(sender: tobject); begin startfra

4、me:=strtoint(estartframe.text); stopframe:=strtoint(estopframe.text); repeatframe:=strtoint(erepeatframe.text); (*验证动画属性设置编辑框的数据合法性*) if (startframestopframe) or(stopframesumframe) then begin /输入范围错误 showmessage(输入帧的范围错误,所有设置复位!); animate1.startframe:=1; animate1.stopframe:=animate1.framecount; anim

5、ate1.repetitions:=0; estartframe.text:=1; estopframe.text:=inttostr(animate1.framecount); erepeatframe.text:=0; end else begin (*设置组件的enabled属性*) play.enabled:=false; stop.enabled:=true; estartframe.enabled:=false; estopframe.enabled:=false; erepeatframe.enabled:=false; (*设置tanimate组件的属性,然后进行播放*) an

6、imate1.startframe:=startframe; animate1.stopframe:=stopframe; animate1.repetitions:=repeatframe; animate1.active:=true; /进入播放状态 end; end; 4“停止播放”按钮的onclick事件的处理程序代码 procedure tform1.stopclick(sender: tobject); begin (*停止播放*) animate1.stop; play.enabled:=true; /“开始播放”按钮可用 stop.enabled:=false; (*设置文本框

7、为可用*) estartframe.enabled:=true; estopframe.enabled:=true; erepeatframe.enabled:=true; end; 运行程序,在estopframe文本框中输入结束帧为9,单击“开始播放”按钮,结果如图11-7所示。 图11-7 运行结果11.3 简单的简单的cd播放器的制作播放器的制作 11.3.1 界面设计 11.3 简单的简单的cd播放器的制作播放器的制作图11-8 cd播放器的界面11.3 简单的简单的cd播放器的制作播放器的制作 11.3.2 代码编写11.3 简单的简单的cd播放器的制作播放器的制作 2按钮的onc

8、lick事件处理程序代码 procedure tform1.button1click(sender: tobject); begin mediaplayer1.play; /“播放”按钮的onclick事件处理 end; procedure tform1.button3click(sender: tobject); begin mediaplayer1.pause; /“暂停”按钮的onclick事件处理 end;11.3 简单的简单的cd播放器的制作播放器的制作procedure tform1.button2click(sender: tobject);beginmediaplayer1.s

9、top;滞不前 /“停止”按钮的onclick事件处理end;procedure tform1.button4click(sender: tobject);beginmediaplayer1.previous; /“前一曲”按钮的onclick事件处理end;procedure tform1.button6click(sender: tobject);beginmediaplayer1.next; /“后一曲”按钮的onclick事件处理end;procedure tform1.button7click(sender: tobject);beginmediaplayer1.eject;勤部 /

10、“弹出”按钮的onclick事件处理end;11.3 简单的简单的cd播放器的制作播放器的制作 (*“打开”按钮的onclick事件处理*) procedure tform1.button5click(sender: tobject); begin if opendialog1.execute then begin mediaplayer1.filename:=opendialog1.filename; mediaplayer1.open; end; end;11.3 简单的简单的cd播放器的制作播放器的制作 3timer1组件的timer1timer事件处理程序代码 窗体中的timer组件的

11、作用是为程序的运行提供事件的控制,例如显示cd播放的当前位置、状态等信息。这里利用memo组件显示相关的信息。 procedure tform1.timer1timer(sender: tobject); var i,j,k:integer; pos1,pos2:longint; flag:boolean; str1:string;11.3 简单的简单的cd播放器的制作播放器的制作 begin memo1.lines0:=总曲目数:+inttostr(mediaplayer1.tracks); mediaplayer1.timeformat:=tfmilliseconds; pos1:=0;

12、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.positionpos1 then begin if mediaplayer1.positionpos2 then begin

13、 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 of mpnotready: memo1.lines3:=str1+准备未绪; mpstopped: memo1.lines3:=str1+已停止; mpplaying: memo1.lines3:=str1+正在播放; mprecording: memo1.lines3:=str1+正在记录; mpseeking: memo1.lines3

温馨提示

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

评论

0/150

提交评论