我在Windows窗体应用程序中有一个AxShockwaveFlash
对象,并通过LoadMovie
加载(AS3)电影。电影播放正确,但我从闪光灯获取变量时遇到问题。从闪存中检索变量值
我试过使用GetVariable
,但它总是返回一个空字符串。我如何从闪存中获取变量的值?
我在Windows窗体应用程序中有一个AxShockwaveFlash
对象,并通过LoadMovie
加载(AS3)电影。电影播放正确,但我从闪光灯获取变量时遇到问题。从闪存中检索变量值
我试过使用GetVariable
,但它总是返回一个空字符串。我如何从闪存中获取变量的值?
我认为AVM2新的安全策略需要你明确地暴露使用ExternalInterface的容器应用程序的变量/函数。
如果你不能编辑swf,我想不出有办法访问它们。不过,使用AS2很容易,如果你定义了它,你可以通过javascript/C#/无论在swf中没有任何额外的代码来获取和设置它。
呦可以使用fscommand
方法从Shockwave播放器跟C#:
fscommand("sendCmd", arg);
赶在C#中使用值
flashPlayer.FSCommand += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEventHandler(flashPlayer_FSCommand);
....
void flashPlayer_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
{
tbOut.Text += e.command + " (" + e.args + ")" + "\r\n";
}
这是行不通的,因为正如问题评论中提到的那样,它使用的是预编译的SWF,因此无法在ActionScript中添加fscommand代码。 – 2011-06-13 08:21:32
@ AdamHarte,这是伤心:( – Eugeny89 2011-06-13 08:30:45
但谢谢你尝试:( – 2011-06-13 14:10:44
您是否有权访问Flash的源代码? – 2011-06-12 21:14:54
@亚当不,它是一个任意的Flash视频。一个youtube视频atcually,从'youtube.com/v/whatever' – 2011-06-12 21:58:54
@Seth那么你想从Flash中获得什么变量? – 2011-06-13 01:24:32