【发布时间】:2009-06-15 22:57:17
【问题描述】:
我正在使用 Qt 开发一个 c++ 应用程序,我们希望包含 swf 文件。有没有办法可以在我的应用程序中包含 swfs?我对 windows、mac 和 linux 的不同解决方案持开放态度,但最好使用单一的跨平台解决方案。
谢谢!
【问题讨论】:
我正在使用 Qt 开发一个 c++ 应用程序,我们希望包含 swf 文件。有没有办法可以在我的应用程序中包含 swfs?我对 windows、mac 和 linux 的不同解决方案持开放态度,但最好使用单一的跨平台解决方案。
谢谢!
【问题讨论】:
您可以使用 WebKit(在 Qt 的最新版本中;它肯定包含在 4.4 和 4.5 中)并通过它嵌入 Flash 动画。这取决于是否安装了 Flash 插件并且 WebKit 可以访问,但它应该可以在 Mac、Windows 和 Linux 上运行(使用 gnash/swfdec 或 Adobe 的插件)。
【讨论】:
它不是免费的,但Scaleform GFx 提供了一个跨平台的 Flash 播放器。它可以与多种不同类型的渲染器一起使用,包括但不限于 DirectX 和 OpenGL。
【讨论】:
您可以使用swfdec 或gnash,但我不知道它们的便携性如何。 VLC source 也值得一试。但是,为了确保跨平台,我建议使用更标准、甚至更好的开放视频格式。下面是一个在 GTK 中使用 gnash 的示例:
http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html
【讨论】:
您最好的办法是尝试在您的应用程序中运行插件版本的 Flash Player。像 Screenweaver 这样的项目已经实现了他们自己的 Netscape 插件 API 包装器来做到这一点。
您也可以查看NSPluginWrapper 项目,他们实现了一个独立的插件播放器,您可能可以将其适配到您自己的项目中。
【讨论】: