delphi播放flash


======================================================
注:本文源代码点此下载
======================================================

9.setzoomrect

语法:setzoomrect(leftaslong,topaslong,rightaslong,bottomaslong)

说明:将影片中指定的矩形区域放大到控件的大小。

left(左)、top(顶)、right(右)、bottom(底)的坐标值是相对于控件中的影片有效位置计算的。注意哟,这个函数是从影片的有效区域的左上角开始计算,而不是控件的左上角。

例子:放大影片中从左上角开始的200×200点的矩形区域:

pointstotwips=20;

movie.setzoomrect0,0,200*pointstotwips,200*pointstotwips

10.stop

语法:stop()

说明:停止播放影片。

例子:movie.stop

11.stopplay

语法:stopplay()

说明:停止播放影片。

例子:movie.stopplay

12.tcallframe

语法:tcallframe(targetasstring,framenumaslong)

说明:在由target指定的时间轴中,执行由framenum指定的帧中的动作。

例子:要运行主时间轴中第5帧的动作:

movie.tcallframe"/",4

13.tcalllabel

语法:tcalllabel(targetasstring,labelasstring)

说明:在由target指定的时间轴中,执行由label指定的帧中的动作。

例子:要运行主时间轴中名为“handlescriptnotify”的帧中的动作:

movie.tcalllabel"/","handlescriptnotify"

14.tgotoframe

语法:tgotoframe(targetasstring,framenumaslong)

说明:对于由target指定的时间轴,转到由framenum指定的帧。

例子:

movie.tgotoframe"/movieclip",2

15.tgotolabel

语法:tgotolabel(targetasstring,labelasstring)

说明:对于由target指定的时间轴,转到由label指定的帧。

例子:movie.tgotolabel"/movieclip","mylabel"

16.tplay

语法:tplay(targetasstring)

说明:播放由target指定的时间轴。

例子:movie.tplay"/movieclip"

17.tsetproperty

语法:tsetproperty(targetasstring,propertyaslong,valueasstring)

说明:对于由target指定的时间轴,把由property指定的属性设为由value指定的值(字符串)。property是一个代表相应属性的编号(详情请参阅附表)。

例子:

dimnameindexaslong

nameindex=13

movie.tsetproperty"/movieclip",nameindex,"newname"

18.tsetpropertynum

语法:tsetpropertynum(targetasstring,propertyaslong,valueasdouble)

说明:对于由target指定的时间轴,把由property指定的属性设为由value指定的值(数字)。property是一个代表相应属性的编号(详情请参阅附表)。

例子:

dimvisibilityindexaslong

visibilityindex=7

movie.tsetproperty"/movieclip",visibilityindex,1

19.tstopplay

语法:tstopplay(targetasstring)

说明:停止播放由target指定的时间轴。

例子:

movie.tstopplay"/moviecliptostop"

20.zoom

语法:zoom(factoraslong)

说明:以factor指定的相对百分比来缩放视图。factor可以理解为从控件窗口看到的影片占实际大小的百分比。将factor设为0,则视图还原成100%大小。当前视图已经是100%时不能再将其缩小。

例子:将影片放大两倍:

movie.zoom50

下面的方法都有返回值:

21.currentframe

语法:currentframe()aslong

说明:返回影片的当前帧数。影片的第一帧为0。

例子:

dimframenowasinteger

framenow=movie.currentframe

22.flashversion

语法:flashversion()aslong

说明:返回控件版本号。该值共有三个字节,依次是主版本号、次版本号、修订版本号。如我用的flash播放器控件用此方法返回值是327722,相当于十六进制的&h05002a,相当于5.00.42。

例子:下列程序显示你所使用的控件版本号:

dimvernum,majornum,minornum,revisionnumaslong

vernum=movie.flashversion

majornum=vernum\65536

minornum=(vernum-majornum*65536)\256

revisionnum=vernummod256

msgbox"你的flash播放器控件的版本号:"&majornum&"."&minornum&"."&revisionnum

23.getvariable

语法:getvariable(nameasstring)asstring

说明:返回name指定的flash变量的值。如果变量不存在则返回null。

例子:

dimfirstname,radiobuttonvalueasstring

firstname=movie.getvariable"firstname"

radiobuttonvalue=movie.getvariable("/form/radiobutton:value")

24、isplaying

语法:isplaying()asboolean

说明:如果影片正在播放则返回true。

例子:

ifmovie.isplayingthen

msgbox"影片正在播放中!"

endif

25.percentloaded

语法:percentloaded()aslong

说明:返回目前已经载入的影片的百分比。取值范围从0到100。

例子:

dimloadedasboolean

ifmovie.percentloaded=100then

loaded=true

endif

26.tcurrentframe

语法:tcurrentframe(targetasstring)aslong

说明:返回由target指定的时间轴中当前帧的号码。返回的帧号码是从0开始的,也就是说影片的第一帧为0,第二帧为1,以此类推。

例子:

dimcurrentframeaslong

currentframe=movie.tcurrentframe("/movieclip")

27.tcurrentlabel

语法:tcurrentlabel(targetasstring)asstring

说明:返回由target指定的时间轴中当前帧的标签。如果没有当前帧的标签,则返回一个空字符串。

例子:

dimcurrentlabelasstring

currentlabel=movie.tcurrentlabel("/movieclip")

28.tgetproperty

语法:tgetproperty(targetasstring,propertyaslong)asstring

说明:对于由target指定的时间轴,返回由property指定的属性值(字符串)。其中,property是一个代表相应属性的编号(详情请参阅附表)。

例子:

dimnameindexaslong

dimnameasstring

nameindex=13

name=movie.tgetproperty("/",nameindex)

29.tgetpropertynum

语法:tgetpropertynum(targetasstring,propertyaslong)asdouble

说明:对于由target指定的时间轴,返回由property指定的属性值(数字)。其中,property是一个代表相应属性的编号(详情请参阅附表)。

例子:

dimframesloadedindexaslong

dimframesloadedasdouble

framesloadedindex=12

framesloaded=movie.tgetproperty("/",framesloadedindex)

附表:获取及设置属性。相应的每个属性的编号都可用在tgetproperty、tgetpropertyasnumber、tsetproperty或tsetpropertynum中,以指出将要访问的属性。

讲到这儿也就差不多了,我们已经可以对flash影片进行绝大部分的操作了。我想,追求完美的你一定还觉得有些不满足,不肯善罢甘休,非得要十全十美不可。那我们就来看看还有些什么要做的。

三、事件篇

想想看,有些flash影片一打开就会自动切换到全屏模式播放;有些影片打开后,你改变播放器大小,影片的画面居然不会随之改变;还有些影片播放时,flash播放器的菜单会隐藏起来。在flash自带的播放器里可没有“隐藏菜单”的功能吧,这是怎么回事?那就随我来,往下看,让我们听听来自flash影片的“声音”。

1.fscommand

语法:fscommand(commandasstring,argsasstring)

说明:在flash中为影片添加的fscommand动作可以从影片中传递信息给flash播放器,flash播放器或包含播放器控件的网页或程序播放这个影片时就根据得到的这些信息执行相应的动作,从而实现影片内部与外部应用的交互操作。如在flash中给一个按钮图片添加如下的action:

on(release){

fscommand("fullscreen","true");

}

当flash播放器播放这个文件时点击按钮,播放器就会切换到全屏模式。下面是flash自带的播放器能识别的命令和它们的参数:

命令:quit

参数:无参数

作用:关闭播放器

命令:fullscreen

参数:true或false

作用:设置为true使播放器以全屏模式播放;设置为false使播放器回到一般窗口模式播放。

命令:allowscale

参数:true或false

作用:设为false将使影片不随播放器大小改变而改变,始终保持原始尺寸,相当于播放器菜单中的100%;设为true则恢复影片随播放器大小而改变的尺寸,相当于播放器菜单中的showall。

命令:showmenu

参数:true或false

作用:设为true显示全部菜单,包括菜单栏和播放区的右键菜单;设为false菜单栏不显示,播放区的右键菜单中只有一项“aboutmacromediaflashplayer...”。

命令:exec

参数:应用程序的路径及名称

作用:执行一个指定的应用程序。如在flash影片中添加动作为:

fscommand("exec","regedit");

则播放器播放影片时执行此动作会打开“注册表编辑器”程序。注意哟,flash自带的播放器接收到这些命令后会执行相应的动作,但在控件中不会有任何反应,只能由程序在fscommand事件中分析接收到的command和args并编程做出相应处理。

2.onprogress

语法:eventonprogress(percentdoneaslong)

说明:发生在flash影片下载时。percentdone是影片已下载的百分比,取值从0到100。

例子:在窗体标题栏中显示下载进度:

privatesubmovie_onprogress(byvalpercentdoneaslong)

form1.caption="影片已下载:"&percentdone&"%"

endsub

3.onreadystatechange

语法:eventonreadystatechange(newstateaslong)

说明:发生在控件的准备状态改变时。下面列出了newstate可能的值:

0——正在载入

1——未初始化

2——已载入

3——正在交互

4——完成

例子:影片载入完成后出现提示信息,然后开始播放影片:

privatesubmovie_onreadystatechange(newstateaslong)

ifnewstate=4then

msgbox"影片载入完成!"&vbcrlf&"影片总帧

数:"&movie.totalframes

movie.play

endif

endsub


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值