views:

271

answers:

4

I'm developing a c++ applicaton using Qt, and we're looking to include swf files. Is there a way I can include swfs in my application? I'm open to different solutions for windows, mac, and linux, but a single cross-platform solution would be best.

Thanks!

A: 

It's not free, but Scaleform GFx provides a cross-platform Flash player. It can work with multiple different kinds of renderers, including but not limited to DirectX and OpenGL.

Adam Rosenfield
A: 

You could use swfdec or gnash, however I don't know how portable they will be. It might be worth checking out the VLC source as well. To ensure cross-platform however I would suggest going with a more standard, even better open, video format. An example of using gnash with GTK is below:

http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html

Sweeney
A: 

Your best bet is to try to run the plugin version of Flash Player in your application. Projects like Screenweaver have implemented their own Netscape plugin API wrappers to do this.

You can also look at NSPluginWrapper project, they have a standalone plugin player implemented, which you possibly might be able to adapt into your own project.

Tehnomaag
+1  A: 

You can use WebKit (in sufficiently recent versions of Qt; it's included for sure in 4.4 and 4.5) and embed the flash animations via that. This depends on having a flash plugin installed and accessible to WebKit, but it should be workable on Mac, Windows, and Linux (with either gnash/swfdec or Adobe's plugin).

Michael E