Discussion:
FLA CS3 una cuestión sobre vídeo en Flash
(demasiado antiguo para responder)
sinclair
2008-09-16 19:24:16 UTC
Permalink
Hola.

Estoy haciendo un trabajo en flash, en el que se van encadenando, un
vídeo FLV tras otro.
El sistema es muy muy sencillo, pero necesito que los videos tengan un
controlador de play, pausa, etc, así como su barra de carga, asi que al
importar el vídeo opto por la opción "descarga progresiva desde un
servidor web" y selecciono el aspecto que quiero para los controles del
vídeo.
Pero necesitaría que este vídeo al llegar al final diese una orden para
que se cargase un nuevo menú, y no tengo ni idea de como puedo hacerlo.

¿existe algún modo de que al reproducirse este vídeo importado de este
modo llame a otro menú?
¿se os curre alguna idea?

Gracias mil a todos por vuestra ayuda.

Juan
Jose Ramon Leon
2008-09-17 08:47:42 UTC
Permalink
Mu fácil sinclair..., le cambias el skin y a correr:

mivideo.skin="tusegundoskin.swf";
mivideo.skinBackgroundColor ="0x000000"; //Cambias el color de fondo al skin
mivideo.skinAutoHide = true; //Cambias la propiedad del AutoHide
mivideo.isLive=true; //Si emites en real, sino a false
mivideo.source="elvideoquequieras.flv"; // Le pasas la ruta del nuevo clip

El Flash Cs3 ya viene con un montón de Skins, claro que sino se lee toda la
información del paquete Flash, no se sabe que existe ;-):

C:\Archivos de programa\Adobe\Adobe Flash CS3\es\Configuration\FLVPlayback
Skins\FLA\ActionScript 3.0

Para trabajar en local, puedes modificarlos y guardar los swf del skin en la
carpeta:

C:\Archivos de programa\Adobe\Adobe Flash CS3\es\Configuration\FLVPlayback
Skins\ActionScript 3.0

y asi desde parámetros del componente flvplayback te dejará seleccionar tu
nuevo skin..., claro que si vas a subirlo a web, lo ideal es que le pases la
ruta del skin de inicio.

Un saludo, y a disfrutar que al principio cuesta, pero luego mola jeje.

José Ramón León
Hola.
Estoy haciendo un trabajo en flash, en el que se van encadenando, un vídeo
FLV tras otro.
El sistema es muy muy sencillo, pero necesito que los videos tengan un
controlador de play, pausa, etc, así como su barra de carga, asi que al
importar el vídeo opto por la opción "descarga progresiva desde un
servidor web" y selecciono el aspecto que quiero para los controles del
vídeo.
Pero necesitaría que este vídeo al llegar al final diese una orden para
que se cargase un nuevo menú, y no tengo ni idea de como puedo hacerlo.
¿existe algún modo de que al reproducirse este vídeo importado de este
modo llame a otro menú?
¿se os curre alguna idea?
Gracias mil a todos por vuestra ayuda.
Juan
sinclair
2008-09-17 09:24:47 UTC
Permalink
Hola Jose Ramón.
Gracias por tu ayuda, y disculpa mi ignorancia, pero sigo con dudas.
Con lo que me cuentas, creo que lo que consigo es personalizar el
aspecto del controlador del reproductor ¿no?
Pero no veo, o no entiendo, si esto me permite decirle a Flash de algún
modo que cuando el vídeo termine, me cargue determinado swf.
¿se me escapa algo fruto de mi burramia?

Gracias mil millones por tu tiempo.

juan
Post by Jose Ramon Leon
mivideo.skin="tusegundoskin.swf";
mivideo.skinBackgroundColor ="0x000000"; //Cambias el color de fondo al skin
mivideo.skinAutoHide = true; //Cambias la propiedad del AutoHide
mivideo.isLive=true; //Si emites en real, sino a false
mivideo.source="elvideoquequieras.flv"; // Le pasas la ruta del nuevo clip
El Flash Cs3 ya viene con un montón de Skins, claro que sino se lee toda la
C:\Archivos de programa\Adobe\Adobe Flash CS3\es\Configuration\FLVPlayback
Skins\FLA\ActionScript 3.0
Para trabajar en local, puedes modificarlos y guardar los swf del skin en la
C:\Archivos de programa\Adobe\Adobe Flash CS3\es\Configuration\FLVPlayback
Skins\ActionScript 3.0
y asi desde parámetros del componente flvplayback te dejará seleccionar tu
nuevo skin..., claro que si vas a subirlo a web, lo ideal es que le pases la
ruta del skin de inicio.
Un saludo, y a disfrutar que al principio cuesta, pero luego mola jeje.
José Ramón León
Hola.
Estoy haciendo un trabajo en flash, en el que se van encadenando, un vídeo
FLV tras otro.
El sistema es muy muy sencillo, pero necesito que los videos tengan un
controlador de play, pausa, etc, así como su barra de carga, asi que al
importar el vídeo opto por la opción "descarga progresiva desde un
servidor web" y selecciono el aspecto que quiero para los controles del
vídeo.
Pero necesitaría que este vídeo al llegar al final diese una orden para
que se cargase un nuevo menú, y no tengo ni idea de como puedo hacerlo.
¿existe algún modo de que al reproducirse este vídeo importado de este
modo llame a otro menú?
¿se os curre alguna idea?
Gracias mil a todos por vuestra ayuda.
Juan
Juan Muro
2008-09-17 11:49:00 UTC
Permalink
Hola Sinclair:
Podrías poner cue points al final de tus flv y controlarlos luego, pero en
actionscript lo suyo es usar la clase NetStream y detectar el final del
video con la detección de un evento NetStatus, lo cual no siempre es fácil y
deberás probar la clase hasta manejarla con soltura, que al princio tiene su
qué, pero cuando la manejas es una gozada. El maestro Jorge Solis, de
FlashDB, me enseñó que para detectar los diferentes estados del video con
esta clase hay que hacer:
//Creamos la conexión
_stream = new NetStream(_connection_nc)
//Establecemos el listener
_stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus)
//Y luego la función
function onNetStatus(evt:NetStatusEvent){
if( evt.info.code=="NetStream.Play.Start") {
....
}
if( evt.info.code=="NetStream.Buffer.Flush"){
...
}
if( evt.info.code=="NetStream.Buffer.Empty"){
...
}
if( evt.info.code=="NetStream.Play.Stop"){
...
}
}
Ya ves que cuando empieza el video el evento se detecta con un play, a
medida que avanza lo que controlamos es el buffer con Buffer.flush,
Buffer.empty y finalmente cuando acaba con stop, pero lo cierto es que la
detección del evento stop no siempre funciona correctamente, ya que depende
de la calidad de conexión, problemas de encoder, calidad del video y otros
parámetros no siempre muy controlable$$$$ (¡!):
Un buen trace para familiarizarte con ellos -sustituible luego por la carga
de tu menú- sería:

for(var i in evt.info) trace(i + ":" + evt.info[i]);

Salu2
`8¬]
Juan Muro
Post by sinclair
Hola Jose Ramón.
Gracias por tu ayuda, y disculpa mi ignorancia, pero sigo con dudas.
Con lo que me cuentas, creo que lo que consigo es personalizar el aspecto
del controlador del reproductor ¿no?
Pero no veo, o no entiendo, si esto me permite decirle a Flash de algún
modo que cuando el vídeo termine, me cargue determinado swf.
¿se me escapa algo fruto de mi burramia?
Gracias mil millones por tu tiempo.
juan
Post by Jose Ramon Leon
mivideo.skin="tusegundoskin.swf";
mivideo.skinBackgroundColor ="0x000000"; //Cambias el color de fondo al skin
mivideo.skinAutoHide = true; //Cambias la propiedad del AutoHide
mivideo.isLive=true; //Si emites en real, sino a false
mivideo.source="elvideoquequieras.flv"; // Le pasas la ruta del nuevo clip
El Flash Cs3 ya viene con un montón de Skins, claro que sino se lee toda
C:\Archivos de programa\Adobe\Adobe Flash
CS3\es\Configuration\FLVPlayback Skins\FLA\ActionScript 3.0
Para trabajar en local, puedes modificarlos y guardar los swf del skin en
C:\Archivos de programa\Adobe\Adobe Flash
CS3\es\Configuration\FLVPlayback Skins\ActionScript 3.0
y asi desde parámetros del componente flvplayback te dejará seleccionar
tu nuevo skin..., claro que si vas a subirlo a web, lo ideal es que le
pases la ruta del skin de inicio.
Un saludo, y a disfrutar que al principio cuesta, pero luego mola jeje.
José Ramón León
Post by sinclair
Hola.
Estoy haciendo un trabajo en flash, en el que se van encadenando, un
vídeo FLV tras otro.
El sistema es muy muy sencillo, pero necesito que los videos tengan un
controlador de play, pausa, etc, así como su barra de carga, asi que al
importar el vídeo opto por la opción "descarga progresiva desde un
servidor web" y selecciono el aspecto que quiero para los controles del
vídeo.
Pero necesitaría que este vídeo al llegar al final diese una orden para
que se cargase un nuevo menú, y no tengo ni idea de como puedo hacerlo.
¿existe algún modo de que al reproducirse este vídeo importado de este
modo llame a otro menú?
¿se os curre alguna idea?
Gracias mil a todos por vuestra ayuda.
Juan
Jose Ramon Leon
2008-09-17 17:03:37 UTC
Permalink
Aupa!

Mola tu solución Juan, me la apunto jeje.

La otra forma de controlarlo mas de andar por casa (para los principiantes
como yo jejeje), sería con la clase VideoEvent, y sus listeners, os pego los
que tengo yo en un proyecto, y espero que con mi forma de llamar a las
funciones os podreis imaginar para que los uso jeje:

//Con este compruebas que el video ha acabado, yo lo uso para lanzar a
modo "mas videos" al final del mismo, tipo youtube, pero mas humilde jeje
this.tu_video.addEventListener(VideoEvent.COMPLETE, findelvideo);

//Con estos controlo el estado del componente, y en caso de estar parado
pongo un botón bien grande de play parpadeando jeje
this.tu_video.addEventListener(VideoEvent.PLAYING_STATE_ENTERED,
compruebaplay);
this.tu_video.addEventListener(VideoEvent.STOPPED_STATE_ENTERED,
lanzabotonplay);
this.tu_video.addEventListener(VideoEvent.PAUSED_STATE_ENTERED,
lanzabotonplay);
this.tu_video.addEventListener(MouseEvent.MOUSE_DOWN,dalealplay);

Un saludete pues..., y espero que te sirva ;-).

José Ramón León
Post by Juan Muro
Podrías poner cue points al final de tus flv y controlarlos luego, pero
en actionscript lo suyo es usar la clase NetStream y detectar el final del
video con la detección de un evento NetStatus, lo cual no siempre es fácil
y deberás probar la clase hasta manejarla con soltura, que al princio
tiene su qué, pero cuando la manejas es una gozada. El maestro Jorge
Solis, de FlashDB, me enseñó que para detectar los diferentes estados del
//Creamos la conexión
_stream = new NetStream(_connection_nc)
//Establecemos el listener
_stream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus)
//Y luego la función
function onNetStatus(evt:NetStatusEvent){
if( evt.info.code=="NetStream.Play.Start") {
....
}
if( evt.info.code=="NetStream.Buffer.Flush"){
...
}
if( evt.info.code=="NetStream.Buffer.Empty"){
...
}
if( evt.info.code=="NetStream.Play.Stop"){
...
}
}
Ya ves que cuando empieza el video el evento se detecta con un play, a
medida que avanza lo que controlamos es el buffer con Buffer.flush,
Buffer.empty y finalmente cuando acaba con stop, pero lo cierto es que la
detección del evento stop no siempre funciona correctamente, ya que
depende de la calidad de conexión, problemas de encoder, calidad del video
Un buen trace para familiarizarte con ellos -sustituible luego por la
for(var i in evt.info) trace(i + ":" + evt.info[i]);
Salu2
`8¬]
Juan Muro
Post by sinclair
Hola Jose Ramón.
Gracias por tu ayuda, y disculpa mi ignorancia, pero sigo con dudas.
Con lo que me cuentas, creo que lo que consigo es personalizar el aspecto
del controlador del reproductor ¿no?
Pero no veo, o no entiendo, si esto me permite decirle a Flash de algún
modo que cuando el vídeo termine, me cargue determinado swf.
¿se me escapa algo fruto de mi burramia?
Gracias mil millones por tu tiempo.
juan
Post by Jose Ramon Leon
mivideo.skin="tusegundoskin.swf";
mivideo.skinBackgroundColor ="0x000000"; //Cambias el color de fondo al skin
mivideo.skinAutoHide = true; //Cambias la propiedad del AutoHide
mivideo.isLive=true; //Si emites en real, sino a false
mivideo.source="elvideoquequieras.flv"; // Le pasas la ruta del nuevo clip
El Flash Cs3 ya viene con un montón de Skins, claro que sino se lee toda
C:\Archivos de programa\Adobe\Adobe Flash
CS3\es\Configuration\FLVPlayback Skins\FLA\ActionScript 3.0
Para trabajar en local, puedes modificarlos y guardar los swf del skin
C:\Archivos de programa\Adobe\Adobe Flash
CS3\es\Configuration\FLVPlayback Skins\ActionScript 3.0
y asi desde parámetros del componente flvplayback te dejará seleccionar
tu nuevo skin..., claro que si vas a subirlo a web, lo ideal es que le
pases la ruta del skin de inicio.
Un saludo, y a disfrutar que al principio cuesta, pero luego mola jeje.
José Ramón León
Post by sinclair
Hola.
Estoy haciendo un trabajo en flash, en el que se van encadenando, un
vídeo FLV tras otro.
El sistema es muy muy sencillo, pero necesito que los videos tengan un
controlador de play, pausa, etc, así como su barra de carga, asi que al
importar el vídeo opto por la opción "descarga progresiva desde un
servidor web" y selecciono el aspecto que quiero para los controles del
vídeo.
Pero necesitaría que este vídeo al llegar al final diese una orden para
que se cargase un nuevo menú, y no tengo ni idea de como puedo hacerlo.
¿existe algún modo de que al reproducirse este vídeo importado de este
modo llame a otro menú?
¿se os curre alguna idea?
Gracias mil a todos por vuestra ayuda.
Juan
Loading...