Delphi简明教程清华大学出版社1第七章多媒体设计7.1MediaPlayer组件7.2声音与音乐处理7.3动画播放器Delphi简明教程清华大学出版社27.1MediaPlayer组件该组件位于组件模板的System页中,双击它就可以将它添加到当前活动的窗体中。如图7-1。图7-1MediaPlayer组件Delphi简明教程清华大学出版社37.1.1AutoEnable属性AutoEnable属性的声明如下:PropertyAutoEnable:Boolean;使用此属性可以自动使MediaPlayer组件的控制按钮变为可选或禁止。如果AutoEnable的值为true,媒体播放器将自动允许和禁止它的控制按钮,媒体播发器根据mode属性所指定的当前方式以及DeviceType属性所指定的当前多媒体设备类型,来允许和禁止某一个按钮。7.1.2Display属性Display属性为多媒体设备指定一个窗体组件用于Delphi简明教程清华大学出版社4显示输出,该属性的默认值为nil,表示该设备将自己创建的窗体显示输出。7.1.3FileName属性该属性指定了打开或保存的多媒体文件名。7.1.4DeviceType属性DeviceType属性的声明语句为:TypeTMPDeviceTypes=(dtAutoSelect,dtAVIVideo,dtCDAudio,dtDAT,dtDigitalVideo,dtMMMovie,dtOther,dtOverlay,dtScanner,dtSequencer,dtVCR,dtVideodisc,dtWaveAudio);PropertyDeviceType:TMPDeviceTypes;Delphi简明教程清华大学出版社5该属性指定了使用open方法打开的多媒体设备的类型。TMPDeviceTypes类型包含了可以用MediaPlayer组件打开的多媒体设备类型。TMPDeviceTypes的合法值可以是上面声明语句中括号内的所有选项。如果该属性为dtAutoSelect,将由FileName属性所指定的文件扩展名来决定设备的类型,如果没有设备类型和扩展名相关联,必须通过DeviceType属性明确指出设备的类型。7.1.5EnableButtons属性和VisibleButtons属性EnableButtons属性的声明如下:Delphi简明教程清华大学出版社6PropertyEnableButtons:TbuttonSet;AutoEnable属性不考虑EnableButtons属性。只有AutoEnable属性为false,媒体播放器才通过EnableButtons属性来决定按钮的允许和禁止状态。VisibleButtons属性的声明如下:PropertyVisibleButtons:TbuttonSet;用于设置哪些按钮是可见的。7.1.6组件中常用的方法MediaPlayer组件的主要方法见表7-1。Delphi简明教程清华大学出版社7方法说明Back用于倒带,每次倒的距离由Frames属性设置Close用于关闭打开的媒体设备Eject用于把媒体设备中的媒体弹出并终止播放Next用于播放当前媒体下一轨的起点Open用于启动一个媒体设备Pause暂停播放,如果设备已经暂停就恢复播放,相当于调用ResumePauseOnly暂停播放,再次调用PauseOnly时设备依然处于暂停状态Play播放当前媒体Previous播放媒体的前一轨。如果当前已经是第一轨,则从第一轨开始播放Resume用于在暂停后恢复播放Rewind用于使媒体回到Start属性指定的起始位置Save把当前媒体存到指定文件中去StartRecording从当前位置或StartPos属性指定的位置开始录制Step向前快进,快进的距离由Frames属性设置Stop停止播放表7-1MediaPlayer组件的方法返回Delphi简明教程清华大学出版社87.2声音与音乐处理7.3动画播放器属性说明FileName指明要播放的avi剪辑文件的名称Active默认为False,表示没有播放;若为true则表示正在播放StartFrame若为1,表示播放avi剪辑文件时从第一轨开始播放StopFrame表示播放avi剪辑文件时,该轨为终止轨Repetition表示重复播放的次数,若为0则表示无限制的播放Commonavi表示多种可选的avi剪辑文件1、动画组件的属性动画组件在Win32标签中,其属性见表7-2。Delphi简明教程清华大学出版社92、动画组件的方法(1)Creat方法Creat函数用于在运行中产生一个动画组件,它的调用方法为:Creat(AOwner:TComponent);Override;其中AOwner为组件类型。(2)Play方法Play方法用于播放avi剪辑文件,它的调用方法为:ProcedurePlay(FormFrame,ToFrame:Word;Count:Integer);Delphi简明教程清华大学出版社10其中FormFrame,ToFrame分别为播放的起止轨,Count为播放次数。(3)Seek方法用于播放指定的轨,其调用方法为:ProcedureSeek(Frame:SmallInt);其中Frame为指定轨的顺序号。(4)Stop方法Stop方法用于终止播放操作。调用方法为:ProcedureStop。下面举例来说明动画组件,并播放。Delphi简明教程清华大学出版社11首先设计窗体如图7-2。在窗体中增加三个Button按钮Button1、Button2、Button3和一个animate控件,并选择animate1,并选择animate1的commonavi属性为aviRecycleFile。图7-2窗体设计Delphi简明教程清华大学出版社12方法说明Back用于倒带,每次倒的距离由Frames属性设置Close用于关闭打开的媒体设备Eject用于把媒体设备中的媒体弹出并终止播放Next用于播放当前媒体下一轨的起点Open用于启动一个媒体设备Pause暂停播放,如果设备已经暂停就恢复播放,相当于调用ResumePauseOnly暂停播放,再次调用PauseOnly时设备依然处于暂停状态Play播放当前媒体Previous播放媒体的前一轨。如果当前已经是第一轨,则从第一轨开始播放Resume用于在暂停后恢复播放Rewind用于使媒体回到Start属性指定的起始位置Save把当前媒体存到指定文件中去StartRecording从当前位置或StartPos属性指定的位置开始录制Step向前快进,快进的距离由Frames属性设置Stop停止播放表7-1MediaPlayer组件的方法返回