第 13章 多媒体应用程序开发本章要点:
多媒体的基本概念
Delphi 7.0开发多媒体应用程序的方法
TAnimate组件的常用属性,方法及其使用
TMediaPlayer组件的常用属性,方法,
事件及其使用
背景音乐的循环播放
13.1 循序渐进学理论
13.1.1 多媒体的概念媒体是指信息的载体,主要分成两个方面:存储信息的媒体和表现信息的媒体。
所谓多媒体是指多种媒体的有机结合,是通过计算机的多媒体技术来实现的。,多媒体技术,在某种程度上已经成为声、文、图、动画、影像等媒体信息在计算机系统中综合应用的代名词。
多媒体技术具有下面的两个重要特点:
( 1)多种媒体的综合性
( 2)交互性各类主要媒体文件及扩展名如下:
图像文件:位图文件 (,BMP),JPEG文件 (,JPG) ;
声音文件:声波文件 (,WAV),MIDI音乐文件 (,MID) ;
视频文件,AVI文件(,AVI),MPEG文件(,MPG)。
在 Delphi 7.0中,图像文件的显示是通过 TImage
等组件来实现的,另外在 Delphi 7.0中还提供了一个
TMediaPlayer组件,利用该组件不但能够对波形声音、
MID音乐、视频等媒体文件进行播放和控制,而且能够控制多种多媒体设备。
13.1.2 TAnimate组件的使用
1.常用属性
( 1) Active属性该属性用来设置是否播放动画。
( 2) AutoSize属性该属性用来决定 TAnimate组件的大小是否随着播放的动画图像的大小而改变。
TAnimate组件
( 3) Center属性该属性用来设置播放的动画图像是否在 TAnimate
组件的中央。
( 4) FileName属性该属性用来指明要播放的 AVI的文件名(包括文件所在的路径)。
( 5) CommonAVI属性该属性用来设定播放 Windows自带的哪种 AVI动画。
( 6) StartFrame属性该属性设置从动了的哪一帧开始播放 。
( 7) StopFrame属性该属性用来设置播放到动画的哪一帧结束 。
( 8) FrameCount属性该属性表示播放的 AVI动画文件的总帧数,为只读属性。
( 9) Repetitions属性该属性设置重复播放 Avi文件的次数。
( 10) Transparent属性该属性用来设置播放背景是否为透明的。
2.常用方法
( 1) Play 方法
[格式 ],procedure Play(FromFrame,ToFrame,Word;
Count,integer);
( 2) Seek方法
[格式 ],procedure Seek(Frame,SmallInt);
( 3) Reset 方法
[格式 ],procedure Reset;
( 4) Stop方法
[格式 ],procedure Stop;
【 例 13-1】 利用 TAnimate组件播放 Windows的预设动画。要求能够任意选择要播放的预设动画种类,
并能够设置是否循环播放。程序运行的界面如图 13-3
所示。
图 13-3 程序运行界面
13.1.3 TMediaPlayer组件的使用
1.组件概述利用 TMediaPlayer组件可以对多媒体文件和多媒体设备进行控制,TMediaPlayer组件由一系列的按钮组成,如上图所示。
Play Stop Prev Back Eject
Next RecordStepPause
2.常用属性
( 1) AutoEnable属性该属性是一个 Boolean型属性,若其值为 True(默认值)时,则媒体播放器可以根据 Mode属性指定的当前模式和 DeviceType属性指定的当前设备类型来确定哪些按钮可以使用。
( 2) AutoOpen属性该属性用来确定当应用程序运行时,媒体播放器是否自动打开媒体设备。
( 3) AutoRewind属性该属性为 Boolean型属性,用来设置在多媒体文件播放完毕以后,是否自动返回到起点。
( 4) DeviceType属性该属性用来设置要打开的多媒体设备的类型。
( 5) Display属性该属性用来指定一个窗口作为多媒体文件的输出屏幕。
( 6) EnabledButtons属性设置多媒体播放器组件中哪些按钮是有效的,哪些是无效的。
( 7) FileName属性该属性用于为多媒体播放设备指定一个待播放的多媒体文件名。
( 8) Visible属性该属性用于决定 TMediaPlayer组件是否可见,默认值是 True,表示是可见的。
( 9) VisibleButtons属性该属性用来决定 TMediaPlayer组件中的各个按钮是否可见,可设置每个按钮的可见状态。
( 10) Mode属性该属性用来返回多媒体设备的当前状态。
( 11) Notify属性该属性用来决定当一个多媒体控制方法(比如
Open,Play等)完成以后,是否响应下一个多媒体方法。
( 12) NotifyValue属性该属性用来表示上一个控制命令的执行情况。
( 13) TimeFormat属性该属性用来设置描述时间的格式,该属性是一个运行属性。
( 14) Tracks属性该属性用来表示 CD音乐总轨数。
( 15) TrackLength属性该属性用来表示音乐轨的长度。
( 16) TrackPosition属性该属性用来表示当前音乐轨的播放位置。
( 17) Length属性该属性用来表示播放媒体的总长度。长整型。
( 18) Position属性该属性用来表示媒体当前的播放位置。长整型。
( 19) Wait属性该属性为 Boolean类型,用于决定是否当媒体控制方法执行结束后,才将控制权交给应用程序。
( 20) Frames属性该属性用来确定调用 Back或 Step方法时,前进或后退的帧数。
3.常用方法
TMediaPlayer组件的常用方法及其作用如表名称 作用
Next 跳到下一个轨道的开始,如果媒体不用轨道,将跳到媒体的结尾
Open 打开多媒体设备
Pause 暂停多媒体设备
Previous 跳到前一个轨道的开始,如果媒体不用轨道,将跳到媒体的开始
Stop 停止多媒体设备的播放
Play 播放多媒体文件或轨道
Back 在当前打开的媒体中,向后移动一定数量的帧,移动的帧数由 Frames属性决定
Rewind 回到播放的起点
Close 关闭多媒体设备
StartRecording 开始录制
Eject 弹开多媒体设备,并释放媒体
Step 在当前打开的媒体中,向前移动一定数量的帧,移动的帧数由 Frames属性决定
Resume 恢复暂停的多媒体播放或记录操作
Save 保存已经打开的媒体信息
4.常用事件
TMediaPlayer组件能够响应 OnClick,OnPostClick、
OnEnter,OnExit,OnNotify等多种事件,下面介绍
OnNotify事件的使用 。
当 Notify属性设置为 True时,每当多媒体控制方法
(如前面所讲的 Open,Save,Back,Close,Eject,
Pause等方法)完成以后,就会产生 OnNotify事件。
【 例 13-2】 编写一个波形音频文件的播放程序。程序的设计如图 13-5所示。
程序运行时,单击 【 打开 】 按钮将出现一个打开对话框,供用户选择一个波形音频文件。选择文件名后按 【 播放 】 按钮将播放该波形音频文件。
图 13-5 例 13-2程序设计界面图 13-6 例 13-2程序运行界面
13.2 典型实例练能力
13.2.1 典型实例一:唐诗朗诵程序的设计
【 实例题目 】
编写一个选择唐诗并朗读的多媒体程序。程序的设计界面如图 13-7所示。程序运行时,当鼠标移动到相应的唐诗标题上时,标题将出现背景色,如图 13-8
所示。此时若单击该唐诗标题将朗诵该唐诗。单击
【 退出 】 按钮将退出该程序的运行。
图 13-7 程序设计界面图 13-8 程序运行界面
13.2.3 典型实例二:视频文件播放控制器
【 实例题目 】
编写一个视频文件播放控制程序,程序的设计界面如图 13-9所示,程序的运行界面如图 13-10所示。程序运行时,单击 【 打开 】 按钮将出现一个打开对话框让用户选择一个视频文件,然后按相应的按钮将实现相应的操作。有两点需注意:一是在按 【 暂停 】 按钮暂停播放时,【 暂停 】 按钮的标题变为,恢复,,此时再按该按钮将恢复视频文件的播放;二是按 【 前进 】
或 【 后退 】 按钮时,视频文件将前进或后退 5帧。
图 13-9 程序设计界面 图 13-10 程序运行界面
13.3 上机练习重应用
13.3.1 上机练习一:为唐诗朗诵程序添加背景音乐
【 练习 题目 】
在典型实例一的基础上增加播放背景音乐的功能:
要求背景音乐可以选择,并且可以循环播放。程序的设计界面如图 13-11所示,程序的运行界面如图 13-12
所示。程序运行时单击 【 选择背景音乐 】 按钮,将出现一个 【 打开 】 文件对话框让用户选择背景音乐文件,
选择过后将自动进行背景音乐的播放,并且背景音乐能够循环播放。
图 13-11 程序设计界面图 13-12 程序运行界面
13.3.2 上机练习二:显示视频文件的播放进度
【 练习 题目 】
对典型实例二进行改造,使它能够显示出视频文件的播放进度。程序的设计界面如图 13-
13所示,程序的运行界面如图 13-14所示。程序运行时将在一个进度条中显示视频文件播放的进度。
图 13-13 程序设计界面 图 13-14 程序运行界面