如何在从 javascript 传递的 flash (swf) 中设置动态变量?
How to set dynamic variables in flash (swf) that are passed from javascript?
我正在尝试使用 Flash 反编译器修改 SWF。
我找到了一个播放实时加密流 rtmp 的 SWF,我想用它嵌入我的网站。
我希望能够使用 javascript:
更改流的 url
//FUNCTION IN FLASH
public var serverName:String;
function frame1() : *
{
this.nc = null;
this.serverName = "rtmps://and_the_stream_url";
this.streamName = "A name";
this.stageListener = new Object();
this.videoSizeTimer = Number(0);
this.videoLastW = Number(0);
this.videoLastH = Number(0);
this.fullscreenCapable = false;
this.hardwareScaleCapable = false;
this.debugInterval = Number(0);
this.bufferTime = Number(3);
this.mainInit();
}
所以我基本上希望能够使用我在将其嵌入我的网站时通过 javascript 传递的内容来设置 serverName 变量。
我一直在看的 javascript 是 SWFObject.. 例如:
var flashvars={};
flashvars.serverName = "my url..";
swfobject.embedSWF("myContent.swf", "my-target-element", "300", "120", "10.0.0", flashvars);
如何修改 flash(swf 文件)中的代码,以便它读取我从 javascript 传递的值?
(如果有其他更好的方法可以在网站上包含实时流 rtmps 流,请告诉我 :)
我试过使用 flowplayer 但我只能用它播放 rtmp-streams)
flashvars 存储在 stage.loaderInfo.parameters 中。所以如果你想遍历所有的 flashvars,它会是这样的:
var flashVars:Object = stage.loaderInfo.parameters;
for (var key:String in flashVars)
{
var value:String = flashVars[key] as String;
trace(key + ' = ' + value);
}
我正在尝试使用 Flash 反编译器修改 SWF。 我找到了一个播放实时加密流 rtmp 的 SWF,我想用它嵌入我的网站。 我希望能够使用 javascript:
更改流的 url//FUNCTION IN FLASH
public var serverName:String;
function frame1() : *
{
this.nc = null;
this.serverName = "rtmps://and_the_stream_url";
this.streamName = "A name";
this.stageListener = new Object();
this.videoSizeTimer = Number(0);
this.videoLastW = Number(0);
this.videoLastH = Number(0);
this.fullscreenCapable = false;
this.hardwareScaleCapable = false;
this.debugInterval = Number(0);
this.bufferTime = Number(3);
this.mainInit();
}
所以我基本上希望能够使用我在将其嵌入我的网站时通过 javascript 传递的内容来设置 serverName 变量。
我一直在看的 javascript 是 SWFObject.. 例如:
var flashvars={};
flashvars.serverName = "my url..";
swfobject.embedSWF("myContent.swf", "my-target-element", "300", "120", "10.0.0", flashvars);
如何修改 flash(swf 文件)中的代码,以便它读取我从 javascript 传递的值?
(如果有其他更好的方法可以在网站上包含实时流 rtmps 流,请告诉我 :) 我试过使用 flowplayer 但我只能用它播放 rtmp-streams)
flashvars 存储在 stage.loaderInfo.parameters 中。所以如果你想遍历所有的 flashvars,它会是这样的:
var flashVars:Object = stage.loaderInfo.parameters;
for (var key:String in flashVars)
{
var value:String = flashVars[key] as String;
trace(key + ' = ' + value);
}