🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #430

Re: JFlashPlayer (reproducir Flash con Java)

#430
From: Daniel Sánchez-Gil
Date: Thu, 20 Sep 2007 15:33
63 lines
3890 bytes
On 20 sep, 08:32, Leto Atreides <leto...@eresmas.com> wrote:
> Daniel Sánchez-Gil escribió:
>
>
>
> > On 5 sep, 12:50, Leto Atreides <leto...@eresmas.com> wrote:
> >> Daniel Sánchez-Gil escribió:
>
> > Hola Leto Atreides, perdona la tardanza en contestar, es que estaba de
> > vacaciones :)
>
> > Uso Windows XP Home Edition.
>
> > La película Flash consta de 4 frames. En el primero leo de un
> > fichero .dat un código html y lo meto en una caja de texto. El 2o y el
> > 3er frame hace el movimiento del texto, y cuando cruza la pantalla le
> > mando al 4o que hace un stop.
>
> > Desde Java, con el JFlashPlayer, le mando un play(), le pregunto
> > isPlaying() hasta que de false, hago un rewind(), espero un tiempo y
> > vuelvo a hacer play() y así sucesivamente. Y sin embargo pasadas unas
> > horas la CPU está a tope... no lo entiendo, porque no tengo nada más
> > en el programa Java...
>
> > ¿Alguna idea?
>
> Sí, creo que es cuando reiteras sobre el isPlaying(). Si haces esto:
>
> while(isPlaying());
>
> seguramente te ocupará todo la CPU puesto que haces un bucle muy rápido.
> Te aconsejo que lo sustituyas por algo así:
>
> while(isPlaying()) Thread.sleep(tiempo_de_espera);
>
> Y pon, como tiempo de espera, 1s, 500ms ó 200ms. Aunque sería mejor que
> usaras eventos. Mira a ver si la librería lanza eventos y, si es así,
> intenta capturar el de término de la reproducción.
>
> Un saludo,
>   José M:

Hola José!, gracias por responder.

Sí, uso un sleep de 1 segundo. Lo de los eventos es lo mejor, pero no
se cómo hacerlo, ya investigaré a ver.

Respecto al problema de la CPU, creo haber averiguado el causante, y
es el propio archivo Flash. Resulta que en el Flash me creo un objeto
LoadVars, y sobre ese flash desde Java le hago constantemente
un .rewind() y play(), por lo que el player se sobrecarga con tantas
instancias del LoadVars. Aunque haga luego un dispose() y un delete
loadvars en el Flash, sigue igual.
Lo que he hecho ha sido poner en el primer frame del Flash, la
creación del LoadVars, y en el segundo hago la lectura al archivo de
datos, y desde Java no uso el rewind(), sino el setCurrentFrame(2), y
así evito el que player cree más instancias de LoadVars.
Por el momento lo estoy probando y funciona, no parece que se
ralentice, lo dejaré algunos días funcionando a ver qué tal.

Gracias!!
Technical Details
Message-ID: <1190302417.296216.285420@y42g2000hsy.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!y42g2000hsy.googlegroups.com!not-for-mail
References: <1188988263.894734.279020@22g2000hsm.googlegroups.com> <fbm22k$5ri$1@serrella.cpd.ua.es> <1190206753.607166.11110@o80g2000hse.googlegroups.com> <fct48j$5ip$1@serrella.cpd.ua.es>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,64e89c70908aa25c
X-Google-Attributes: gid1116f3,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!y42g2000hsy.googlegroups.com!not-for-mail
From:  Daniel Sánchez-Gil <dsanchez@prainter.com>
Newsgroups: es.comp.lenguajes.java
Subject: Re: JFlashPlayer (reproducir Flash con Java)
Date: Thu, 20 Sep 2007 08:33:37 -0700
Organization: http://groups.google.com
Lines: 65
Message-ID: <1190302417.296216.285420@y42g2000hsy.googlegroups.com>
References: <1188988263.894734.279020@22g2000hsm.googlegroups.com>
   <fbm22k$5ri$1@serrella.cpd.ua.es>
   <1190206753.607166.11110@o80g2000hse.googlegroups.com>
   <fct48j$5ip$1@serrella.cpd.ua.es>
NNTP-Posting-Host: 217.126.181.7
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1190302417 12892 127.0.0.1 (20 Sep 2007 15:33:37 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 20 Sep 2007 15:33:37 +0000 (UTC)
In-Reply-To: <fct48j$5ip$1@serrella.cpd.ua.es>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: y42g2000hsy.googlegroups.com; posting-host=217.126.181.7;
   posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0