如何使用AS3将外部变量加载到swf中以播放不同的电影文件

时间:2014-07-02 15:10:43

标签: actionscript-3 flash

我是AS3 noobie,需要一些帮助。

我想加载依赖于变量的影片。例如,我想从

加载

' http://example.com/test/&#39 + +可变'的.mp4'

所以我决定这次我想玩x.mp4 - 我如何在AS3中这样做?

这是我到目前为止所做的:

// ActionScript 3.0
var video:Video = new Video();
addChild(video);

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
ns.client = {onMetaData:ns_onMetaData, onCuePoint:ns_onCuePoint};

video.attachNetStream(ns);
ns.play("http://example.com/test/"+variable+".mp4");

function ns_onMetaData(item:Object):void {
    trace("metaData");
    // Resize video instance.
    video.width = item.width;
    video.height = item.height;
    // Center video instance on Stage.
    video.x = (stage.stageWidth - video.width) / 2;
    video.y = (stage.stageHeight - video.height) / 2;
}
function ns_onCuePoint(item:Object):void {
    trace("cuePoint");
    trace(item.name + "\t" + item.time);
}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以使用FlashVars:

http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html

以下是示例中的代码。请注意,有两个不同的Flashvars条目:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
width="550"
height="400"
align="middle"
id="main">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="main.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="FlashVars" value="one=1&two=2" />
<embed src="main.swf"
width="550"
height="400"
autostart="false"
quality="high"
bgcolor="#ffffff"
FlashVars="one=1&two=2"
name="main"
align="middle"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

如果你使用swfobject(https://code.google.com/p/swfobject/),它已内置支持它。

编辑:

一个更简单的例子是:

http://helpx.adobe.com/flash/kb/pass-variables-swfs-flashvars.html

它包含一个名为“myVariable”的变量的示例:

LoaderInfo(this.root.loaderInfo).parameters.myVariable;

该页面还有一个在线测试项目。