我是Flash的新手。所以我正在尝试制作一个显示Vimeo视频的闪存容器。这是我的动作。
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 它不起作用。 如果我在open()
中设置视频ID,它可以正常工作我如何让它发挥作用? 非常感谢你的时间。
答案 0 :(得分: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页面。