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:
"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.
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
On 18/02/09 10:13, "Juan Delgado" <zzzar...@gmail.com> wrote:
> 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:
> "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.
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 : |
> 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
> On 18/02/09 10:13, "Juan Delgado" <zzzar...@gmail.com> wrote:
>> 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:
>> "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.
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ó:
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 <jalonso@5dms.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
On 18/02/09 10:13, "Juan Delgado" <zzzarate@gmail.com> wrote:
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
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 ;-)
> 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 : |
>> 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
>> On 18/02/09 10:13, "Juan Delgado" <zzzar...@gmail.com> wrote:
>>> 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:
>>> "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.
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:
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.
> 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
> El 18/02/2009, a las 10:42, Juan Delgado escribió:
>> 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 : |
>>> 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
>>> On 18/02/09 10:13, "Juan Delgado" <zzzar...@gmail.com> wrote:
>>>> 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:
>>>> "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.