Comunidad de diseño web y desarrollo en internet online

Precarga FLVPlayback as3

Citar            
MensajeEscrito el 11 Sep 2010 09:17 am
Hola, como puedo hacer una precarga para FLVPlayback? tengo cuatro vídeos, uno nada más empezar mi swf y cada uno de los otros tres al darle a su botón respectivamente. He utilizado el siguiente código pero cuando hago un trace, traza siempre 100:

//Precarga
var pre_loader_video: Pre_loader_video = new Pre_loader_video()
addChild (pre_loader_video)
function mi_cargador_progress ( e:ProgressEvent ) {
var porcentaje:Number = Math.floor (e.target.bytesLoaded/e.target.bytesTotal*100)
pre_loader_video.porcentaje_txtfld.text = String (100 - porcentaje + "%")
trace (porcentaje)
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////

//Pinta el FLVPlayback y reproduce el primer video
var video_player:fl.video.FLVPlayback=new fl.video.FLVPlayback()
addChildAt (video_player,0)
video_player.source = "video_0.flv"

//Eventos
_menu.btn_menu_1.addEventListener( MouseEvent.CLICK, cargar_video_1 )
_menu.btn_menu_2.addEventListener( MouseEvent.CLICK, cargar_video_2 )
_menu.btn_menu_3.addEventListener( MouseEvent.CLICK, cargar_video_3 )
_menu.btn_menu_4.addEventListener( MouseEvent.CLICK, cargar_video_4 )
//
video_player.addEventListener(VideoEvent.COMPLETE, play_again)
video_player.addEventListener(VideoProgressEvent.PROGRESS, video_player_progress)

//Funciones btn
function cargar_video_1 (e:MouseEvent) {video_player.source = "video_1.flv"}
function cargar_video_2 (e:MouseEvent) {video_player.source = "video_2.flv"}
function cargar_video_3 (e:MouseEvent) {video_player.source = "video_3.flv"}

Por cecilia_

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Sep 2010 11:43 am
¿Cual es el code de la clase Pre_loader_video?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Sep 2010 11:54 am
No sé si entiendo bien lo que me preguntas, pero es un MovieClip de mi librería con nombre de exportación: Pre_loader_video
var pre_loader_video: Pre_loader_video = new Pre_loader_video()
addChild (pre_loader_video)

Por cecilia_

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Sep 2010 12:15 pm
Ok, lo que estás haciendo es mostrar el progreso mientras cargan, pero dado que el FLVPlayback solo puede reproducir un video por vez, no puedes asignarle los cuatro. Lo que deberías hacer es crear cuatro NetStream, asignarles el video correspondiente y hacer un play/pause parfa iniciar la descarga. Luego haces un preload que tenga en cuenta las cuatro métricas. Sin embargo al descargarse al mismo tiempo compiten por el ancho de banda (no se puede priorizar) y será todo mas lento, con lo cual en realidad te conviene hacer una cola de carga, y que al terminar uno empiece a cargar el otro.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Sep 2010 01:01 pm
Ok, entiendo lo que me dices, pero podrías indicarme algún tutorial? no tengo idea como hacer eso...

Gracias!

Por cecilia_

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Sep 2010 01:28 pm
Lamentablemente ya no tengo el code a mano, lo hice hace unos tres años de la manera que describo, pero me parece que si usas la librería BulkLoader http://code.google.com/p/bulk-loader/w/list puedes hacerlo con bastante menos pánico, revisa la documentación

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Sep 2010 02:49 pm
Ok, lo miraré! gracias otra vez!

Por cecilia_

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 11 Sep 2010 03:35 pm
BuenAS:

Como, casi seguro, acabarás utilizando BulkLoader, cuando añadas el flv a la cola del bulkLoader, pasa el parámetro pausedAtStart:true, ya que de lo contrario el flv se oirá durante el proceso de precarga:

Código ActionScript :

var bulkLoader:BulkLoader = new BulkLoader("miBulkLoader");

bulkLoader.add("flv/mi_video.flv", {id:"mi_video", pausedAtStart:true});

bulkLoader.start();


Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 15 Sep 2010 09:44 pm
Hola, he intentado usar la librería BulkLoader, pero sigo con problemas. El trace siempre me da 0% o 100%
He probado con:
-By bytes / percentage
-By ratio
-By weight
en todos los casos me ocurre igual.

Help please!


Este es el código:

var loader : BulkLoader = new BulkLoader("videos");
var video: Video = new Video ()

loader.add("video_image_1.flv");

loader.addEventListener(BulkLoader.COMPLETE, onAllLoaded);
loader.addEventListener(BulkLoader.PROGRESS, onAllProgress);

loader.start();

//
function onAllLoaded(e:Event) : void{

var theNetStream_0 : NetStream = loader.getNetStream("video_image_0.flv", {pausedAtStart:true});
video.attachNetStream(theNetStream_0);

addChildAt(video, 0);
}

//
function onAllProgress(e: BulkProgressEvent) : void{

//campo de texto para la precarga
porcentaje_txtfld.text = Math.round(100*e.percentLoaded ).toString()+"%"
trace (Math.round(100*e.percentLoaded ).toString()+"%")
}

Por cecilia_

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Sep 2010 01:03 am
Pruebalo en el servidor, en local no hay tiempo de descarga, siempre es inmediata

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Sep 2010 03:11 am
Y {pausedAtStart:true} deberías colocarlo al principio, cuando añades el vídeo a la cola:

Código ActionScript :

loader.add("video_image_1.flv", {pausedAtStart:true}); 


Si lo añades en el controlador del evento COMPLETE, aparte de que de algún error ya que el método para recuperar el vídeo no espera ese parámetro, BulkLoader no se va a "enterar" de que tiene que detener el flujo de vídeo mientras hace la precarga.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 17 Sep 2010 09:13 am
Vale, muchas gracias por vuestra ayuda, pero me parece que mi problema es aún mayor, además de los videos, estoy cargando una galería de imágenes a travéz de un archivo .as externo, supongo que estoy haciendo dos cargas paralelas y evidentemente algo falla. Creo que tengo que unificar mis cargas de .jpg y .flv

Lo seguiré intentando...
Gracias!

Por cecilia_

11 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.