📄 swfdecplayer.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>SwfdecPlayer</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Swfdec Reference Manual"><link rel="up" href="ch01.html" title="Public API"><link rel="prev" href="swfdec-Enumerations.html" title="Enumerations"><link rel="next" href="SwfdecAudio.html" title="SwfdecAudio"><meta name="generator" content="GTK-Doc V1.8 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="Public API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="swfdec-Enumerations.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Swfdec Reference Manual</th><td><a accesskey="n" href="SwfdecAudio.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id2585556" class="shortcut">Top</a>  |  <a href="#id2502041" class="shortcut">Description</a>  |  <a href="#id2569300" class="shortcut">Object Hierarchy</a>  |  <a href="#id2569324" class="shortcut">Properties</a>  |  <a href="#id2569403" class="shortcut">Signals</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="SwfdecPlayer"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id2585556"></a><span class="refentrytitle">SwfdecPlayer</span></h2><p>SwfdecPlayer — main playback object</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> <a href="SwfdecPlayer.html#SwfdecPlayer-struct">SwfdecPlayer</a>;void <a href="SwfdecPlayer.html#swfdec-init">swfdec_init</a> (void);<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a>* <a href="SwfdecPlayer.html#swfdec-player-new">swfdec_player_new</a> (void);<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a>* <a href="SwfdecPlayer.html#swfdec-player-new-from-file">swfdec_player_new_from_file</a> (const char *filename, GError **error);void <a href="SwfdecPlayer.html#swfdec-player-set-loader">swfdec_player_set_loader</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, <a href="SwfdecLoader.html" title="SwfdecLoader">SwfdecLoader</a> *loader);void <a href="SwfdecPlayer.html#swfdec-player-set-loader-with-variables">swfdec_player_set_loader_with_variables</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, <a href="SwfdecLoader.html" title="SwfdecLoader">SwfdecLoader</a> *loader, const char *variables);gboolean <a href="SwfdecPlayer.html#swfdec-player-is-initialized">swfdec_player_is_initialized</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);double <a href="SwfdecPlayer.html#swfdec-player-get-rate">swfdec_player_get_rate</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);void <a href="SwfdecPlayer.html#swfdec-player-get-image-size">swfdec_player_get_image_size</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, int *width, int *height);guint <a href="SwfdecPlayer.html#swfdec-player-get-next-event">swfdec_player_get_next_event</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);unsigned int <a href="SwfdecPlayer.html#swfdec-player-get-background-color">swfdec_player_get_background_color</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);void <a href="SwfdecPlayer.html#swfdec-player-set-background-color">swfdec_player_set_background_color</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, unsigned int color);void <a href="SwfdecPlayer.html#swfdec-player-render">swfdec_player_render</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, cairo_t *cr, double x, double y, double width, double height);void <a href="SwfdecPlayer.html#swfdec-player-advance">swfdec_player_advance</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, guint msecs);gboolean <a href="SwfdecPlayer.html#swfdec-player-handle-mouse">swfdec_player_handle_mouse</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, double x, double y, int button);void <a href="SwfdecPlayer.html#swfdec-player-render-audio">swfdec_player_render_audio</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, gint16 *dest, guint start_offset, guint n_samples);const GList* <a href="SwfdecPlayer.html#swfdec-player-get-audio">swfdec_player_get_audio</a> (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);</pre></div><div class="refsect1" lang="en"><a name="id2569300"></a><h2>Object Hierarchy</h2><pre class="synopsis"> GObject +----SwfdecPlayer</pre></div><div class="refsect1" lang="en"><a name="id2569324"></a><h2>Properties</h2><pre class="synopsis"> "<a href="SwfdecPlayer.html#SwfdecPlayer--background-color">background-color</a>" guint : Read / Write "<a href="SwfdecPlayer.html#SwfdecPlayer--cache-size">cache-size</a>" guint : Read "<a href="SwfdecPlayer.html#SwfdecPlayer--initialized">initialized</a>" gboolean : Read "<a href="SwfdecPlayer.html#SwfdecPlayer--mouse-cursor">mouse-cursor</a>" <a href="swfdec-Enumerations.html#SwfdecMouseCursor">SwfdecMouseCursor</a> : Read "<a href="SwfdecPlayer.html#SwfdecPlayer--next-event">next-event</a>" guint : Read</pre></div><div class="refsect1" lang="en"><a name="id2569403"></a><h2>Signals</h2><pre class="synopsis"> "<a href="SwfdecPlayer.html#SwfdecPlayer-advance">advance</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-audio-added">audio-added</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-audio-removed">audio-removed</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-handle-mouse">handle-mouse</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-invalidate">invalidate</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-launch">launch</a>" : Run Last "<a href="SwfdecPlayer.html#SwfdecPlayer-trace">trace</a>" : Run Last</pre></div><div class="refsect1" lang="en"><a name="id2502041"></a><h2>Description</h2><p>A <a href="SwfdecPlayer.html" title="SwfdecPlayer"><span class="type">SwfdecPlayer</span></a> is the main object used for playing back Flash files throughSwfdec.</p><p>A player interacts with the outside world in a multitude of ways. The most important ones are described below.</p><p>Input is handled via the SwfdecLoader class. A <a href="SwfdecLoader.html" title="SwfdecLoader"><span class="type">SwfdecLoader</span></a> is set on a new player using <a href="SwfdecPlayer.html#swfdec-player-set-loader"><code class="function">swfdec_player_set_loader()</code></a>.</p><p>When the loader has provided enough data, you can start playing the file.This is done in steps by calling <a href="SwfdecPlayer.html#swfdec-player-advance"><code class="function">swfdec_player_advance()</code></a> - preferrably as often as <a href="SwfdecPlayer.html#swfdec-player-get-next-event"><code class="function">swfdec_player_get_next_event()</code></a> indicates. Or you can provide user inputto the player by calling for example <a href="SwfdecPlayer.html#swfdec-player-handle-mouse"><code class="function">swfdec_player_handle_mouse()</code></a>.</p><p>You can use <a href="SwfdecPlayer.html#swfdec-player-render"><code class="function">swfdec_player_render()</code></a> to draw the current state of the player.After that, connect to the SwfdecPlayer::invalidate signal to be notified ofchanges.</p><p>Audio output is handled via the SwfdecAudio class. One <a href="SwfdecAudio.html" title="SwfdecAudio"><span class="type">SwfdecAudio</span></a> object is created for every output using the SwfdecPlayer::audio-added signal.</p><p></p></div><div class="refsect1" lang="en"><a name="id2502169"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2502180"></a><h3><a name="SwfdecPlayer-struct"></a>SwfdecPlayer</h3><a class="indexterm" name="id2502192"></a><pre class="programlisting">typedef struct _SwfdecPlayer SwfdecPlayer;</pre><p>This is the base object used for playing Flash files.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2502212"></a><h3><a name="swfdec-init"></a>swfdec_init ()</h3><a class="indexterm" name="id2502224"></a><pre class="programlisting">void swfdec_init (void);</pre><p>Initializes the Swfdec library.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2502250"></a><h3><a name="swfdec-player-new"></a>swfdec_player_new ()</h3><a class="indexterm" name="id2502262"></a><pre class="programlisting"><a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a>* swfdec_player_new (void);</pre><p>Creates a new player.This function calls <a href="SwfdecPlayer.html#swfdec-init"><code class="function">swfdec_init()</code></a> for you if it wasn't called before.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> The new player</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2502311"></a><h3><a name="swfdec-player-new-from-file"></a>swfdec_player_new_from_file ()</h3><a class="indexterm" name="id2592626"></a><pre class="programlisting"><a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a>* swfdec_player_new_from_file (const char *filename, GError **error);</pre><p>Tries to create a player to play back the given file. If the file does notexist or another error occurs, NULL is returned.This function calls <a href="SwfdecPlayer.html#swfdec-init"><code class="function">swfdec_init()</code></a> for you if it wasn't called before.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>filename</code></em> :</span></td><td> name of the file to play</td></tr><tr><td><span class="term"><em class="parameter"><code>error</code></em> :</span></td><td> return location for error or NULL</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> a new player or NULL on error.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2592711"></a><h3><a name="swfdec-player-set-loader"></a>swfdec_player_set_loader ()</h3><a class="indexterm" name="id2592722"></a><pre class="programlisting">void swfdec_player_set_loader (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, <a href="SwfdecLoader.html" title="SwfdecLoader">SwfdecLoader</a> *loader);</pre><p>Sets the loader for the main data. This function only works if no loader has been set on <em class="parameter"><code>player</code></em> yet.For details, see <a href="SwfdecPlayer.html#swfdec-player-set-loader-with-variables"><code class="function">swfdec_player_set_loader_with_variables()</code></a>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>player</code></em> :</span></td><td> a <a href="SwfdecPlayer.html" title="SwfdecPlayer"><span class="type">SwfdecPlayer</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>loader</code></em> :</span></td><td> the loader to use for this player. Takes ownership of the given loader.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2592816"></a><h3><a name="swfdec-player-set-loader-with-variables"></a>swfdec_player_set_loader_with_variables ()</h3><a class="indexterm" name="id2592829"></a><pre class="programlisting">void swfdec_player_set_loader_with_variables (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player, <a href="SwfdecLoader.html" title="SwfdecLoader">SwfdecLoader</a> *loader, const char *variables);</pre><p>Sets the loader for the main data. This function only works if no loader has been set on <em class="parameter"><code>player</code></em> yet.If the <em class="parameter"><code>variables</code></em> are set and validate, they will be set as properties on the root movie. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>If you want to capture events during the setup process, you want to connect your signal handlers before calling <a href="SwfdecPlayer.html#swfdec-player-set-loader"><code class="function">swfdec_player_set_loader()</code></a> andnot use conveniencse functions such as <a href="SwfdecPlayer.html#swfdec-player-new-from-file"><code class="function">swfdec_player_new_from_file()</code></a>.</div><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>player</code></em> :</span></td><td> a <a href="SwfdecPlayer.html" title="SwfdecPlayer"><span class="type">SwfdecPlayer</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>loader</code></em> :</span></td><td> the loader to use for this player. Takes ownership of the given loader.</td></tr><tr><td><span class="term"><em class="parameter"><code>variables</code></em> :</span></td><td> a string that is checked to be in 'application/x-www-form-urlencoded' syntax describing the arguments to set on the new player or NULL for none.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2592942"></a><h3><a name="swfdec-player-is-initialized"></a>swfdec_player_is_initialized ()</h3><a class="indexterm" name="id2592955"></a><pre class="programlisting">gboolean swfdec_player_is_initialized (<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a> *player);</pre><p>Determines if the <em class="parameter"><code>player</code></em> is initalized yet. An initialized player is ableto provide basic values like width, height or rate. A player may not be initialized if the loader it was started with does not reference a Flashresources or it did not provide enough data yet. If a player is initialized,it will never be uninitialized again.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>player</code></em> :</span></td><td> a <a href="SwfdecPlayer.html" title="SwfdecPlayer"><span class="type">SwfdecPlayer</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> TRUE if the basic values are known.</td></tr></tbody></table></div></div><hr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -