C#与Flash通信

标签 c# flash actionscript externalinterface

有没有办法让 C# 获取 swf 通过 ExternaInterface 公开的方法列表?

最佳答案

更新:

刚意识到我误读了您的问题,因为您正在寻找通过 Flex ExternalInterface class 定义的方法而不是 Shockwave ActiveX 控件 本身的那些;我将在下面保留我的原始答案,因为它可能仍然对通过 C# 使用 SWF 有帮助。

关于 ExternalInterface 我现在没有答案,但你可以查看 Fun with C# and the Flash Player 8 External API首先了解如何通过 C# 使用此 API。 (另一个有用的示例可能是 Use External Interface of Flash 8 in Python and C# Applications。)

从我在前一篇文章中读到的内容来看,可能没有直接的解决方案和通过传递精心设计的调用约定 XML fragmentsCallFunction()有点古怪,你仍然应该能够翻译 Georges solution原则上(正如我所说,它可能不会很漂亮;)

祝你好运!


如何通过 COM 互操作性从 .NET 访问 SWF:

SWF Windows 是通过 Adobe Flash Player 实现的ActiveX control ,因此您可以通过 COM Interoperability 从 .NET 使用它.

您可以在 Adob​​e 网站上找到与此相关的(遗留)文章/示例,请参阅 Embedding Macromedia Flash Player in a C# Application to Display Stock Information有关概述(请注意文章关于示例代码不可用的介绍性说明),但请参阅下文。

更具体地说,您可以在本文的另一页找到实现目标所需的初始步骤,请参阅 Embedding and Communicating with the Macromedia Flash Player in C# Windows Applications - 特别是请遵循文章/步骤,直至并包括使 Macromedia Flash Player ActiveX 控件在 Visual Studio .NET 中可用部分。

一旦您完成了将 Shockwave ActiveX 控件 添加到您的工具箱和特定项目引用的概述步骤后,您只需双击该引用(名为 ShockwaveFlashObjects Visual Studio 2008),这将打开 Visual Studio object browser突出显示 assembly Interop.ShockwaveFlashObjects;然后向下导航到 namespace ShockwaveFlashObjects,您将在其中找到 interface IShockwaveFlash,公开(取决于您的 View 过滤器)它的所有成员,包括所需的具有各自 C# 签名的外部方法

关于C#与Flash通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353525/

相关文章:

django - 从麦克风录制音频并另存为.wav django Web应用

flash - tweenlite 比手动动画更快/更轻吗?

audio - 如何在 AS3 中将声音对象提取到单字节数组

javascript - 基于 Web 的音乐和声音合成 - 调查

c# - .NET 中的已检查和未检查异常

c# - 通用 Elasticsearch 方法 c#

c# - 在不知道类型是什么的情况下调用返回泛型集合的泛型方法? C#

html - sIFR3 平滑和 IE

apache-flex - 具有虚线边框的 Flex BorderContainer

c# - Visual Studio 2015 中的 ASP.NET Core MVC 2.0