[Swfdec] 回复: Can the Swfdec without the gtk?
zou lunkai
zoulunkai at gmail.com
Thu Nov 6 05:45:38 PST 2008
>
> It can work ,but i don't know where to draw the flash.
>
(1) create a frame buffer with cairo_image_surface_create();
(2) advance the movie with swfdec_player_advance();
(3) draw the decoded contents to frame buffer by using swfdec_player_render();
(4) save the frame buffer to a png file with cairo_surface_write_to_png();
After that, you can view the "flash" by a image viewer. That is the
simplest example. If you want to display the flash content in a
window, and interact with user events, you need to use some system
level utilities. You need a GUI framework, which could be provided by
GTK/DirectFB/SDL/MFC/whatever_you_know.
--zou
2008/11/6 Steven Liu <lingjiujianke at gmail.com>:
> Let me send a test code,I don't know if i'm wrong!
>
>
>
>
> #include <swfdec/swfdec.h>
> #include <swfdec/swfdec_player.h>
> #include <swfdec/swfdec_url.h>
> #include <stdio.h>
>
> SwfdecPlayer* player;
> void PrintInfos()
> {
> unsigned int h,w;
>
> swfdec_player_get_maximum_runtime (player);
> swfdec_player_get_default_size(player,&h,&w);
> swfdec_player_get_background_color(player);
> swfdec_player_get_rate(player);
> swfdec_player_advance(player,swfdec_player_get_maximum_runtime (player));
> }
>
> int main (int argc, char **argv)
> {
> if (argc < 2)
> {
> g_print ("usage: %s file://PATH or URL", argv[0]);
> return 1;
> }
>
> player = swfdec_player_new (NULL);
> SwfdecURL *url1 = swfdec_url_new(argv[1]);
> if(!url1)
> {
> return ;
> }
> swfdec_player_set_url(player,url1);
>
> while (!swfdec_player_is_initialized (player))
> {
> long next = swfdec_player_get_next_event (player);
> if (next < 0)
> {
> return 0;
> }
> swfdec_player_advance (player, next);
> }
>
> PrintInfos();
>
>
> return 0;
> }
>
>
>
>
>
> It can work ,but i don't know where to draw the flash.
>
>
>
>
>
> 2008/11/6, Benjamin Otte <otte at gnome.org>:
>> Hey!
>>
>> Yes, Swfdec does work without Gtk. For examples, you can look at the
>> thumbnailer in swfdec-gnome, our test framework or swfdec-directfb.
>> However, you'll have to do quite a bit more work to get a smooth
>> animation displayed, as Gtk is taking care of that: It calls
>> swfdec_player_advance() at the right speed, invalidates the screen
>> when things change and all these things.
>> But Swfdec was designed explicitly to work without Gtk, so it's easy
>> to integrate into applications that run without an X server
>> (thumbnailer, GStreamer, DirectFB).
>>
>> Cheers,
>> Benjamin
>>
>> On Wed, Nov 5, 2008 at 10:55 AM, Steven Liu <lingjiujianke at gmail.com> wrote:
>>> Hi,all!
>>>
>>> I'm a new user of swfdec,I'm learning the swfdec,I'v saw the
>>> configure can disable the gtk! but how to develop the flashplayer? I'v
>>> saw the "SWFDEC Examples",but it was written by gtk.it used
>>> swfdec-gtk.Is there have some example without swfdec-gtk?
>>> for example:
>>> SwfdecPlayer* player;
>>> player = swfdec_player_new (NULL);
>>> SwfdecURL* url = swfdec_url_new(argv[1]);
>>> swfdec_player_set_url(player,url);
>>> while (!swfdec_player_is_initialized (player))
>>> {
>>> long next = swfdec_player_get_next_event (player);
>>> if (next < 0)
>>> {
>>> /* not a flash file */
>>> return 0;
>>> }
>>> swfdec_player_advance (player, next);
>>> }
>>> swfdec_player_get_maximum_runtime (player);
>>> guint h,w;
>>> swfdec_player_get_default_size(player,&h,&w);
>>> swfdec_player_get_background_color(player);
>>> swfdec_player_get_rate(player);
>>>
>>>
>>>
>>> but how to play the flash use only the libswfdec?
>>> _______________________________________________
>>> Swfdec mailing list
>>> Swfdec at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/swfdec
>>>
>>
> _______________________________________________
> Swfdec mailing list
> Swfdec at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/swfdec
>
More information about the Swfdec
mailing list