天天看點

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^)/