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)。