将Flash Player嵌入C ++或Java应用程序中?

我想将Flash Player直接嵌入到C ++或Java应用程序中。

我发现了一篇描述如何为C#执行此操作的文章: http : //www.adobe.com/devnet/flash/articles/stock_history03.html

不幸的是,我没有使用C#,COM或ActiveX的经验。 我需要有人将此代码转换为C ++,允许我将Flash Player嵌入到Win32窗口中。 最后,我想使用这些信息将Flash嵌入到Java应用程序中。

我正在寻找三个主要function:

  1. 能够播放Flash电影
  2. 能够接收事件(例如鼠标点击)
  3. 能够发送事件

编辑:如果可能的话,我更喜欢开源解决方案。

我不知道如何在C ++中嵌入flash,但Christopher Deckers( SWTSwing成名)开发了一个有趣的hack,允许它嵌入Java中。 您可以在Javalobby公告主题中找到更多信息。

如果它必须是开源的,我会考虑Gnash ,一个开源的flash实现。
它适用于所有主要平台,支持大多数多媒体编解码器,并且应该通过nsapi嵌入到应用程序中。

如果你想使用商业解决方案,我建议使用Scaleform GFx 。 虽然这并不便宜,但它真好。

在窗口中创建Flash播放器的一种简单方法:AtlAxCreateControlEx。

要接收和发送活动,您需要一个接收器:AtlAdvise。 您还需要在ActionScript(即Flash)端定义接收事件的函数。

您应该使用的是Netscape Plugin API 。 它是原生的,它是所有优秀的浏览器用来加载Flash播放器插件的东西。 虽然实际的Flash播放器不是开源的,但这个API是。

如果您不打算随应用程序发送flashplayer副本:

您的应用应该在运行时检查Flash播放器,如果没有找到它,应该提醒用户(通常通过提供Adobe的链接下载它)。 Flashplayer插件通常安装在Windows上的%AppData%\Mozilla\plugins中。

看看FlashDX 。 它是开源和免费的。

我个人没有试过这个,但是在SWT / Java的情况下你可以在你的SWT / Java应用程序中嵌入SWT浏览器窗口,在浏览器视图中你可以将内容与flash内容一起使用,然后用闪存电影与Merapi桥进行交流。 java的。