2010-12-23 25 views
0

我真的是Flash新手。所以我試圖製作一個顯示Vimeo視頻的閃存容器。這是我的動作。如何編寫ActionScript以傳遞flashvars?

var videoContainer:Sprite = new Sprite(); 
var moogaloop:Sprite; // the video player 
var moogaplayer:*; // reference to the moogaloop api 
var player_width :int = stage.stageWidth; 
var player_height:int = stage.stageHeight; 
var _loading:Boolean = false; 

var vidId:String; 

function open ($id:String) : void 
{ 
    if(moogaplayer){ 
     moogaplayer.api_loadVideo($id); 
    }else{ 
     loadPlayer($id); 
    } 
} 

function loadPlayer ($id:String) : void 
{ 
    var v_loader:Loader = new Loader(); 
    var v_request:URLRequest = new URLRequest("http://bitcast.vimeo.com/vimeo/swf/moogaloop.swf?server=vimeo.com&force_embed=0&clip_id=" + $id + "&width=" + player_width + "&height=" + player_height); 
    v_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); 
    v_loader.load(v_request); 
} 

function onCompleteHandler(e:Event):void 
{ 
    moogaloop = new Sprite(); 
    moogaplayer = moogaloop.addChild(e.currentTarget.content); 

    var v_mask:Sprite = new Sprite(); 
    with(v_mask.graphics) { 
     beginFill(0x000000, 1); 
     drawRect(moogaloop.x, moogaloop.y, player_width, player_height); 
     endFill(); 
    } 

    this.addChild(v_mask); 
    moogaloop.mask = v_mask; 

    videoContainer.addChild(moogaloop); 
} 

function onProgressHandler(e:ProgressEvent):void 
{ 
    var percent:Number = e.bytesLoaded/e.bytesTotal; 
    trace(percent); 
} 

Security.allowDomain("http://bitcast.vimeo.com"); 
open(vidId); 

this.addChild(videoContainer); 

我想通過URL設置vidId。例如: http://dl.dropbox.com/u/389232/bhssfinearts/vimeoz.swf?vidId=17439665 它不起作用。 它工作正常,如果我設置視頻ID打開()

我如何得到它的工作? 非常感謝您的時間。

回答

1

使用SWFOjbect,有這取決於你如何發佈swfobject的方式有兩種:

動態方法:

<script type="text/javascript"> 
var flashvars = {}; 
flashvars.vidId='blahblah'; 
</script> 

的靜態方法:

<param name="flashvars" value="vidId='blahblah'" /> 

並在您的Flash代碼,你可以檢索變量如下:

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters; 

var vidId:String = paramObj.vidId; 

只是一個註釋......如果您在Flash中測試,這將不起作用。你必須在瀏覽器中用SWFObject代碼打開你的html頁面。

+0

對不起,我真的很新,但它仍然無法正常工作。 http://dl.dropbox.com/u/389232/bhssfinearts/vimeo.html – caoran9238 2010-12-23 18:37:51

相關問題