AS3 NetStream IOError y onPlayStatus

77 views
Skip to first unread message

Juan Delgado

unread,
Feb 18, 2009, 4:13:42 AM2/18/09
to asna...@googlegroups.com
Muy buenas,

Ayer pregunté esto en Flashcoders y no ha contestado nadie, así que
sigo preguntando. Estoy tocando mi player de vídeo y mirando la
referencia de NetStream hay un par de cosas que no me cuadran. De la
referencia:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/NetStream.html#play()

"If the video file can't be found, the netStatus event is dispatched"

Efectivamente onPlayEvent es llamado con
"NetStream.Play.StreamNotFound", pero entonces ¿me puede alguien decir
para qué tiene NetStream un evento IOError y cuándo salta?

Y en la misma referencia, un poco más abajo cuando describe los
parámetros que se pueden pasar al método play():

"The location of the video file to play, as a URLRequest object or a string"

Y yo cada vez que paso un URLRequest en lugar de una cadena al método
play el vídeo no se carga ni salta ningún evento, simplemente no pasa
nada. Y para quien se haga la pregunta, estaba pasando un URLRequest
para ver si era esa la causa de que no saltara el IOError.

Ambos cosas pasan tanto en IE como en FF, haciendo los tests en local
o en el servidor.

Gracias!

Juan

--
Juan Delgado - Zárate
http://zarate.tv
http://blog.zarate.tv

Joseba Alonso

unread,
Feb 18, 2009, 4:31:29 AM2/18/09
to asna...@googlegroups.com
Yo, por la experiencia que tengo un NetStream nunca salta un evento IOError,
vamos, diría yo que no saltan ningún evento de ningún tipo en esa clase.
Solo los callbacks en el objeto client.

En cuanto al URLRequest, yo diría que es uno de esos famosos errores de la
documentación. Que yo sepa siempre es un string, siempre. De hecho en la doc
de AS3 dice:

" The location of the media file to play as a string, a URLRequest.url
property,"

La propiedad url de URLRequest es un string también.

La verdad es que la clase NetStream es como una especie de hijo rebelde de
AS3, no es para nada consistente con el resto del API...

Poca ayuda te doy, verdad? :)

Joseba

Juan Delgado

unread,
Feb 18, 2009, 4:42:14 AM2/18/09
to asna...@googlegroups.com
Oh no, ayuda, ayuda. Sobre todo para no pensar que estoy loco : )

Lo del URLRequest no es un problema de documentación ya que el
compilador no se queja, por lo menos el SDK de Flex 3.2 lo da por
bueno. Luego es el player el que parece que no sabe qué hacer.

Y ya que estamos con las peculiaridades de NetStream, ¿¿¿¿a qué viene
lo del objeto cliente para escuchar ciertos eventos???? Es decir,
¿para escuchar NetStatusEvent se añade un listener pero para escuchar
onMetaData necesito un objeto intermedio? Para mi no tiene sentido : |

2009/2/18 Joseba Alonso <jal...@5dms.com>:

xleon

unread,
Feb 18, 2009, 4:51:21 AM2/18/09
to asna...@googlegroups.com
Yo creo que está muy bien que te hagas tu propio player, más que nada para aprender y conocer cómo funcionan las cosas. A mi se me ocurrió lo mismo hace tiempo, y me pegué con estos temas (no con el que comentas) durante varios dias. Hasta que me llegó la inspiración divina y pensé.... ¿Por qué quiero reinventar la rueda? Entonces vi que mucha gente había hecho lo mismo que yo, y mejor. Y cuando me encontré esto, se me quitó toda gana de programar mi propio player. Como mucho modificarlo, o mandar algún comentario a su autor con algún bug que le encuentres. Este tema no es nada sencillo, y programar un buen player implica muchísimos aspectos que te vas encontrando poco a poco mientras desarrollas y testeas, o cuando un proyecto requiere alguna cosa en especial que no habías hecho antes.

Salu2

Juan Delgado escribió:

Javier Fernández Montes

unread,
Feb 18, 2009, 4:55:03 AM2/18/09
to asna...@googlegroups.com
Lo del client yo tampoco le veo sentido, pero es que el metadata es el
**** de la bernarda, cuando no falta el totaltime es cualquier otra
cosa, el caso es que todos los players de vídeo que he hecho acaban
teniendo problemas cuando el cliente carga sus vídeos y te vuelves
loco hasta que ves ese maldito objeto.

Juan, sigo tus avances con el player, que pinta muy bien ;-)

Un saludo

Javier Fernández :: Drus Unlimited™
listas[at]drusunlimited[dot]com
http://drusunlimited.com

Juan Delgado

unread,
Feb 18, 2009, 5:07:21 AM2/18/09
to asna...@googlegroups.com
"¿Por qué quiero reinventar la rueda?"

Pues exactamente por lo mismo que la gente de Pyro. Es decir, crear
una API para el video en Flash ya que el NetStream y sus secuaces me
parecen demasiado complicados para el día a día. Lo comenté en el
blog:

http://blog.zarate.tv/2009/02/04/zaudio-and-zvideo-skinless-as3-players/

Si hubiera tenido el enlace de Pyro a mano en Agosto del año pasado*
probablemente no habría empezado con ZVideo y ZAudio. Porque esa es
otra razón: cuando haces un player de vídeo y de audio no hay mucha
diferencia entre ellos, los métodos se parecen mucho: play, pause,
toggle.... ZAudio y ZVideo implementan la misma interface así que sólo
hay que aprender la API una vez.

Pero gracias por el enlace, le voy a echar un ojo a ver cómo han
afrontado ellos los mismos problemas.

Drus, en un par de días máximo subo otra pequeña actualización con
cambios precisamente para ser notificado si el vídeo no se encuentra.

Salud!

Juan

* Bendito SVN: http://code.google.com/p/zcode/source/detail?r=121

2009/2/18 Javier Fernández Montes <lis...@drusunlimited.com>:
Reply all
Reply to author
Forward
0 new messages