第8章多媒体应用编程 本章要点: 区多媒体介绍 区 ANimate组件的属性、事件和方法介绍 区 TMediaplay组件的属性、事件和方法介绍 综合实例
本章要点: 多媒体介绍 TAnimate 组件的属性、事件和方法介绍 TMediaplay 组件的属性、事件和方法介绍 综合实例 第8章 多媒体应用编程
81多媒体介绍 随着多媒体技术的不断发展,多媒体的使用范围越来越广泛。当你在 使用 Windows Media Play时,有没有想过拥有一个自己编写的媒体播放 器呢?也许,你会觉得这太复杂,太专业。其实如果你用 Delphi7.0,那 么一切都来得那么简单和容易。本章主要是讲解如何用 Delphi7.0来进 行多媒体编程 8.1.1多媒体定义 人类在信息交流中要使用各种媒体。媒体有两种含乂:存储信息的 物理实体,如磁带、磁盘、光盘、打印纸等;信息的表现形式(表示)和 传播的载体,如文字、声音、图形和图像等。计算机媒体是指后者, 也就是说媒体是指信息表示和传播的载体。在计算机中使用五种媒体: 感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体 Inprise Dephi
8.1 多媒体介绍 随着多媒体技术的不断发展,多媒体的使用范围越来越广泛。当你在 使用Windows Media Play时,有没有想过拥有一个自己编写的媒体播放 器呢?也许,你会觉得这太复杂,太专业。其实如果你用Delphi 7.0,那 么一切都来得那么简单和容易。本章主要是讲解如何用Delphi 7.0来进 行多媒体编程。 8.1.1 多媒体定义 人类在信息交流中要使用各种媒体。媒体有两种含义:存储信息的 物理实体,如磁带、磁盘、光盘、打印纸等;信息的表现形式(表示)和 传播的载体,如文字、声音、图形和图像等。计算机媒体是指后者, 也就是说媒体是指信息表示和传播的载体。在计算机中使用五种媒体: 感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体
81.2多媒体程序设计 利用 Delphi7.0提供的多媒体组件,可实现多媒体程序的设计。对一个 Delphi7.0程序来说,增加声音和动画可提高整个系统的可视性,但也会大 大增加系统的开销。因此,在程序设计时必须考虑下面几个问题。 1.时间 考虑系统所要求的实时性在加入多媒体之后是否还能满足要求。 2.存储空间 音频视频质量越高,所用的存储量就越大。因此要考虑系统在加 入多媒体之后,应用程序是否还有足够的空间运行。一般来说程序员 要考虑4倍所讨论对象的存储空间。 3.速度 就是说要考虑硬件的问题,如系统主板, CD-ROM的速度是不是 能够达到程序要求。 4.显示器 要获得色彩逼真的效果,就要将显示器至少设置为1024×768和 真彩色。这就要求用好的显示器和显卡 Inprise Dephi
8.1.2 多媒体程序设计 利用Delphi 7.0提供的多媒体组件,可实现多媒体程序的设计。对一个 Delphi 7.0程序来说,增加声音和动画可提高整个系统的可视性,但也会大 大增加系统的开销。因此,在程序设计时必须考虑下面几个问题。 1. 时间 考虑系统所要求的实时性在加入多媒体之后是否还能满足要求。 2. 存储空间 音频视频质量越高,所用的存储量就越大。因此要考虑系统在加 入多媒体之后,应用程序是否还有足够的空间运行。一般来说程序员 要考虑4倍所讨论对象的存储空间。 3. 速度 就是说要考虑硬件的问题,如系统主板,CD-ROM的速度是不是 能够达到程序要求。 4. 显示器 要获得色彩逼真的效果,就要将显示器至少设置为1024×768和 真彩色。这就要求用好的显示器和显卡
81.3 Windows操作系统对多媒体的支 持 多媒体计算机是在传统计算机中增加了音频设备和CD-ROM设备。在 Windows95/98/2000和 Windows nt中提供了多媒体控制接口MC|,它包含 系列的函数调用。 Delphi7.0中提供了制作多媒体的组件,这些组件将命令及其复杂的函 数调用进行了封装,使得创建多媒体应用程序的工作大大地简化了。 82动画组件 Delphi7.0提供了一个控制多个图片连续播放的动画组件 Animate,如 图8-1所示。 Animate组件最主要的功能是作为特性动画的提示。此组件在 Win32页中可找到 win32 SvstemI Data Access I Data Controls I dbExpress I DataSnaD I BDE ADO InterBa 图8-1 Animate组件 Inprise Dephi
8.1.3 Windows操作系统对多媒体的支 持 Delphi 7.0 提供了一个控制多个图片连续播放的动画组件Tanimate,如 图8-1所示。Tanimate组件最主要的功能是作为特性动画的提示。此组件在 Win32页中可找到。 多媒体计算机是在传统计算机中增加了音频设备和CD-ROM设备。在 Windows95/98/2000和Windows NT中提供了多媒体控制接口MCI,它包含 了一系列的函数调用。 Delphi 7.0中提供了制作多媒体的组件,这些组件将命令及其复杂的函 数调用进行了封装,使得创建多媒体应用程序的工作大大地简化了。 8.2 动画组件 图8-1 Tanimate组件
821 Animate组件的主要属性(1) Active属性:设置是否播放动画。取值为True表示播放动画,取值为 False 则表示没有播放。 Autosize属性:设置自动更改 Animate组件的大小。取值为Tue或者 False。 Center属性:设置播放的动画是否在 Animate组件的中央。取值为True 表示播放的动画在 Animate组件的中央,取值为 False表示播放的动画在 Animate组件的左上部分。 Filename属性:指明要播放的Aⅵ文件所在的路径。如果 Filename指定了 文件的话,那么 Commonal会自动指定为 AViNone。 Commonaⅵ属性:设定播放的AM动画的类型。它有多种选择,详见本教 程P131页。 注意:这些Aⅵ文件都是包含在 Windows系统资源里面,如果你的系统中 没有这些文件,那么就不能够调用 Starframe属性;设置播放的Av文件从哪一帧开始,如果设置为1, 表示从第一帧开始,默认值为1。 Inprise Dephi
8.2.1 Tanimate 组件的主要属性(1) 注意:这些Avi文件都是包含在Windows系统资源里面,如果你的系统中 没有这些文件,那么就不能够调用。 Active属性:设置是否播放动画。取值为True表示播放动画,取值为False 则表示没有播放。 Autosize属性:设置自动更改Tanimate组件的大小。取值为True或者False。 Center属性:设置播放的动画是否在 Tanimate 组件的中央。取值为True 表示播放的动画在Tanimate组件的中央,取值为False表示播放的动画在 Tanimate组件的左上部分。 Filename属性:指明要播放的Avi文件所在的路径。如果Filename指定了 文件的话,那么Commonavi会自动指定为AviNone。 Commonavi属性:设定播放的Avi动画的类型。它有多种选择,详见本教 程P131页。 StartFrame属性:设置播放的Avi文件从哪一帧开始,如果设置为1, 表示从第一帧开始,默认值为1
821 Animate组件的主要属性(2) Stop Frame,属性:设置播放的Aⅵ文件在哪一帧结束,系统会自动 地获取Aⅵ文件中帧的总帧数。你也可以设置一个数值来指定结束 的帧数,如果你设置的结束帧数小于A文件中的总帧数的话,那 么Aⅵ文件就会提前结束,如果你设置的结束帧数大于Av文件中 的总帧数的话,系统还是按照原来的A文件中的帧数来播放 Repetiton属性;设置重复播放AM文件的次数。默认值为0,表 示无限制地播放 Tmer属性:设定使用计时器显示信息。当Tmer属性设为True时 系统以同步式相应计时器显示信息。这对于动画显示和其他动作 同步显示非常有用。 Tran^ aparent厲烂:设置播放的背景是否为透明的。默认值为True, 表示播放背景是透明的 Inprise Dephi
8.2.1 Tanimate 组件的主要属性(2) StopFrame属性:设置播放的Avi文件在哪一帧结束,系统会自动 地获取Avi文件中帧的总帧数。你也可以设置一个数值来指定结束 的帧数,如果你设置的结束帧数小于Avi文件中的总帧数的话,那 么Avi文件就会提前结束,如果你设置的结束帧数大于Avi文件中 的总帧数的话,系统还是按照原来的Avi文件中的帧数来播放。 Repetitons属性:设置重复播放Avi文件的次数。默认值为0,表 示无限制地播放。 Timer属性:设定使用计时器显示信息。当Timer属性设为True时, 系统以同步式相应计时器显示信息。这对于动画显示和其他动作 同步显示非常有用。 Transparent属性:设置播放的背景是否为透明的。默认值为True, 表示播放背景是透明的
822 Animate组件的主要方法 1. Create方法 Create方法用于创建和初始化动画控制,它常用在实时状态下。当在设计阶段 放置一个 Animate组件在窗体上的时候,该方法会被自动调用。 2.Pay方法 Play方法是用来播放Aⅵ文件。它的调用方式为: procedure Play(FromFrame, ToFrame: Word; Count: Integer) 其中 Fromframe表示播放Aⅵ文件开始的帧, ToFrame表示播放Av文件结束的 帧, count表示播放Aⅵ文件的次数。 FromFrame要小于 ToFrame的值。 3.Seek方法 seek方法用来显示Av文件中指定的某一帧。它的调用方式为: procedure Seek(Frame: SmallInt 其中 frame表示指定的帧。 4. Reset方法 Reset方法用来清除原来设定的 StarfRame和 StopFrame的值,恢复成初始值。 5.Stop方法 Stop方法用来终止AM文件的播放操作。 Inprise Dephi
8.2.2 Tanimate 组件的主要方法 1. Create 方法 Create方法用于创建和初始化动画控制,它常用在实时状态下。当在设计阶段 放置一个 Tanimate 组件在窗体上的时候,该方法会被自动调用。 2. Play 方法 Play方法是用来播放Avi文件。它的调用方式为: procedure Play(FromFrame, ToFrame: Word; Count: Integer); 其中FromFrame表示播放Avi文件开始的帧,ToFrame表示播放Avi文件结束的 帧,count表示播放Avi文件的次数。FromFrame要小于ToFrame的值。 3. Seek方法 Seek方法用来显示Avi文件中指定的某一帧。它的调用方式为: procedure Seek(Frame: SmallInt); 其中frame表示指定的帧。 4. Reset 方法 Reset 方法用来清除原来设定的StartFrame和StopFrame的值,恢复成初始值。 5. Stop方法 Stop方法用来终止Avi文件的播放操作
823 Animate组件的主要事件 1. On stop事件 NoNstop事件主要是当Aⅵ文件显示完以后被激活。它的调用方式为: property On Stop TNotify Event; 2. Onclose享件 OnClose事件是当Av文件被关闭以后所激活的事件。它和 On Stop事件的 区别在于OnC|ose事件是在关闭掉了动画组件以后所产生的事件,而 NoNstop事件是动画结束而没有关闭动画组件的时候所产生的事件。它的调 用方式为 property OnClose: TNotify Event 3. Onstart-件 On start事件是在 Animate组件开始播放图片时被激活的事件。它的调用 方式为: property On Stant: TNotify Event 4. Onopen事件 OnOpen事件是在当动画组件打开以后被激活的事件。它的调用方式为: property OnOpen TNotify Event Inprise Dephi
8.2.3 Tanimate组件的主要事件 1. OnStop 事件 OnStop事件主要是当Avi文件显示完以后被激活。它的调用方式为: property OnStop: TNotifyEvent; 2. OnClose事件 OnClose事件是当Avi文件被关闭以后所激活的事件。它和OnStop事件的 区别在于OnClose事件是在关闭掉了动画组件以后所产生的事件,而 OnStop事件是动画结束而没有关闭动画组件的时候所产生的事件。它的调 用方式为: property OnClose: TNotifyEvent; 3. Onstart事件 OnStart事件是在Tanimate 组件开始播放图片时被激活的事件。它的调用 方式为: property OnStant: TNotifyEvent; 4. OnOpen事件 OnOpen事件是在当动画组件打开以后被激活的事件。它的调用方式为: property OnOpen: TNotifyEvent;
824编程实例(1) 【例8-1】这个程序主要是说明 Animate的简单应用。界面如图8-2所示。 x 1.主要实现的功能 图8-2动画组件演示 单击开始按钮,就可以播放Aⅵ动画 ③单击结束按钮,就可中断动画的播放。 2设置对象的属性如表8-2所示 3.编写的代码 procedure TForm1. Button 1Click(Sender: TObject) begin animate1 Active:=true;/J开始播放A文件 en Inprise Dephi
8.2.4 编程实例(1) 1. 主要实现的功能 单击开始按钮,就可以播放Avi动画。 单击结束按钮,就可中断动画的播放。 2. 设置对象的属性如表8-2所示 【例8-1】 这个程序主要是说明Tanimate的简单应用。界面如图8-2所示。 图8-2 动画组件演示 3. 编写的代码 procedure TForm1.Button1Click(Sender: TObject); begin animate1.Active:=true;//开始播放Avi文件 end;
824编程实例(2) procedure TForm1. Button2Click(Sender: TObject) begin animate1.Stop;/结束Aⅵ文件的播放 end 表8-2各组件属性设置 对象 属性 属性值 说明 Forml caption 动画组件演示 active False 不用自动播放 Animate l Center True 在 Animate中央播放 Commonavi| aviRecyclefile播放的Av文件 Button caption 开始 Button caption 结束 Inprise Deph
8.2.4 编程实例(2) procedure TForm1.Button2Click(Sender: TObject); begin animate1.Stop;//结束Avi文件的播放 end; 对象 属性 属性值 说明 Form1 caption 动画组件演示 Animate1 active False 不用自动播放 Center True 在Animate中央播放 Commonavi aviRecycleFile 播放的Avi文件 Button1 caption 开始 Button2 caption 结束 表8-2 各组件属性设置