delphi里播放flash
在flash大行其道的今天,是否想过在你的程序里也加入几幅flash炫一炫?我们就来试试,前提是你要装有flash播放软件(你的IE能显示flash),IE之所以能显示flash是安装了一个swflash.ocx控件,由Macromedia, Inc.提供,我们也用它了,win98在$Windows\System\Macromed\Flash,win2k在$Winnt\System32\Macromed\Flash下。ActiveX控件在windows里是通用的,delphi当然也支持,打开你的delphi我们开始了。选择菜单Component --> Import ActiveX Control,选择SWFlash.OCX 文件,安装,完成后在ActiveX面板里出现TShockwaveFlash控件,这是delphi对SWFlash.OCX的封装,现在我们就可以用这个控件来播放flash了。拖一个过来放在form上,指定其Movie属性为d:\test.SWF,按F9,一切OK。delphi编程就是这么轻松、自在。
TShockwaveFlash主要属性、方法、事件
属性:
ReadyState - 读一个flash文件时的状态。0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete.
TotalFrames - 总帧数,只有当ReadyState = 4时才能访问。
FrameNum - 当前播放的帧。
Playing - 播放或暂停一个flash.
Quality - 指定当前渲染的质量,0=Low, 1=High, 2=AutoLow, 3=AutoHigh
ScaleMode - 缩放模式,0=ShowAll, 1= NoBorder, 2 = ExactFit。
AlignMode - 对齐模式,Left=+1, Right=+2, Top=+4, Bottom=+8。
BackgroundColor - 背景色,red*65536+green*256+blue,-1为默认颜色。
Loop - 是否循环。
Movie - 指定播放的flash文件路径,可以为一个URL.
方法:
Play() - 开始播放动画。
Stop() - 停止播放动画。
Back() - 播放前一帧动画。
Forward() - 播放后一帧动画。
Rewind() - 播放第一帧动画。
SetZoomRect(int left, int top, int right, int bottom) - 设置缩放的区域
Zoom(int percent) - 按百分比缩放。
Pan(int x, int y, int mode) - 缩放播放面板。模式为:0-按像数,1-按窗口百分比
事件:
OnProgress(int percent) - 读取一个flash时触发。
OnReadyStateChange(int state) - 状态改变时触发。states 可以为 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete。
具体帮助请参见http://www.macromedia.com/support/flash/
此为本人心血来潮之作,不足之处恳请指正,欢迎有兴趣者共同探讨(ypy@yeah.net)。