繁体   English   中英

使用不含TLF文本的ExternalInterface在Flash和C#之间进行通信

[英]Communication between Flash and C# Using ExternalInterface without TLF text

我正在使用以下命令从Flash应用程序进行通信:ExternalInterface.call(“ hello”,“ world”)

这在C#端通过以下方式处理:

string swfPath = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "test.swf";
this.axFlash.LoadMovie(1, swfPath);
this.axFlash.FlashCall += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEventHandler(axFlash_FlashCall);

偶函数声明为

void axFlash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
{
}

只要屏幕上有一个设置为使用TLF文本的文本框,就可以将axFlash_FlashCal称为罚款。 (任何文本框都可以,没有特定的ID)。 没有文本框,偶数将不会触发。 (即使将ExternalInterface.Avaliable设置为true)

我尝试使用CS4和CS5进行发布,同时使用Flash 10和9作为输出。 这些都没有改变。

我正在使用AS3和.NET 4.0。 有没有人遇到过这个问题,或者知道为什么需要TLF文本才能起作用?

我发现这是由于TLF文本强制执行之前加载整个SWF。 如果没有TLF文本,它将尝试流式处理SWF,这显然会破坏ExternalCommunication。

有谁知道强制预加载的简单方法? 目前,我唯一可行的解​​决方案是让一个SWF预加载另一个SWF。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM