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

上传人:E**** 文档编号:89400710 上传时间:2019-05-24 格式:PPT 页数:31 大小:312.50KB
返回 下载 相关 举报
《Delphi程序设计及实验指导》电子教案 第11章_第1页
第1页 / 共31页
《Delphi程序设计及实验指导》电子教案 第11章_第2页
第2页 / 共31页
《Delphi程序设计及实验指导》电子教案 第11章_第3页
第3页 / 共31页
《Delphi程序设计及实验指导》电子教案 第11章_第4页
第4页 / 共31页
《Delphi程序设计及实验指导》电子教案 第11章_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《Delphi程序设计及实验指导》电子教案 第11章》由会员分享,可在线阅读,更多相关《《Delphi程序设计及实验指导》电子教案 第11章(31页珍藏版)》请在金锄头文库上搜索。

1、第十一章 多媒体编程,11.1 动画组件TAnimate 11.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)

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的

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

4、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 简单的动画播放程序的

5、设计,为了更好地理解TAnimate组件的属性、方法和事件,这一节创建一个简单的动画播放程序。通过实例3,更好地掌握TAnimate组件的应用以及多媒体程序的设计思路。,11.2 简单的动画播放程序的设计,11.2.1 界面设计 新建一个工程PrjTAnimate.dpr,按图11-6设计动画播放程序的界面。窗体及其组件属性的设置值如表11-2所示。,11.2 简单的动画播放程序的设计,图11-6设计动画播放程序的界面,11.2 简单的动画播放程序的设计,11.2.2 代码编写 1定义存放起始帧、结束帧、循环次数和总帧数 var Form1: TForm1; StartFrame,StopFr

6、ame,RepeatFrame,SumFrame:integer;,11.2 简单的动画播放程序的设计,2TAnimate1组件的OnOpen事件处理程序代码 procedure TForm1.Animate1Open(Sender: TObject); begin ShowMessage(TAnimaet组件触发OnOpen事件,初始化变量!); (*初始化变量*) StartFrame:=Animate1.StartFrame; StopFrame:=Animate1.StopFrame; RepeatFrame:=Animate1.Repetitions; SumFrame:=Anima

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

8、rame.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; Animat

9、e1.Repetitions:=0; Estartframe.Text:=1; Estopframe.Text:=IntToStr(Animate1.FrameCount); Erepeatframe.Text:=0; end else,11.2 简单的动画播放程序的设计,begin (*设置组件的Enabled属性*) play.Enabled:=False; stop.Enabled:=True; Estartframe.Enabled:=False; Estopframe.Enabled:=False; Erepeatframe.Enabled:=False; (*设置TAnimate组

10、件的属性,然后进行播放*) Animate1.StartFrame:=StartFrame; Animate1.StopFrame:=StopFrame; Animate1.Repetitions:=RepeatFrame; Animate1.Active:=True; /进入播放状态 end; end;,11.2 简单的动画播放程序的设计,4“停止播放”按钮的OnClick事件的处理程序代码 procedure TForm1.stopClick(Sender: TObject); begin (*停止播放*) Animate1.Stop; play.Enabled:=True; /“开始播放

11、”按钮可用 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播放器的界面,窗体及其组件属性的设

12、置值如表11-3所示。,11.3 简单的CD播放器的制作,图11-8 CD播放器的界面,11.3 简单的CD播放器的制作,11.3.2 代码编写 1初始化程序 procedure TForm1.FormCreate(Sender: TObject); begin with MediaPlayer1 do begin Visible:=True; DeviceType:=dtCDAudio; /设置多媒体设备的类型 Open; /通过Open方法打开CD播放设备 end; end;,11.3 简单的CD播放器的制作,2按钮的OnClick事件处理程序代码 procedure TForm1.But

13、ton1Click(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); begin MediaPlayer1.Stop;滞不前 /“停止”按钮的OnClick事件处理 end; proce

14、dure TForm1.Button4Click(Sender: TObject); begin MediaPlayer1.Previous; /“前一曲”按钮的OnClick事件处理 end; procedure TForm1.Button6Click(Sender: TObject); begin MediaPlayer1.Next; /“后一曲”按钮的OnClick事件处理 end; procedure TForm1.Button7Click(Sender: TObject); begin MediaPlayer1.Eject;勤部 /“弹出”按钮的OnClick事件处理 end;,11

15、.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组件的作用是为程序的运行提供事件的控制,例如显示CD播放的当前位置、状态等信息。这里利用

16、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; 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+MediaPlayer

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号