我在Windows窗体应用程序中有一个AxShockwaveFlash
对象,并使用LoadMovie
将(AS3)影片加载到其中。电影播放正确,但我从闪存获取变量时遇到问题。
我尝试过使用GetVariable
但它总是返回一个空字符串。如何从flash中获取变量的值?
答案 0 :(得分:1)
我认为AVM2的新安全策略要求您使用ExternalInterface将变量/函数显式公开给容器应用程序。
如果您无法编辑swf,我想不出可以访问它们的方法。使用AS2真的很容易,如果你定义它,你可以通过javascript / C#/设置它,无需swf中的任何额外代码。
答案 1 :(得分:0)
Yo可以使用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";
}