Comunidad de diseño web y desarrollo en internet online

problema con videos en youtube

Citar            
MensajeEscrito el 07 Jul 2010 03:31 pm
Hola
He creado un swf,donde mediante una serie de botones intentó cargar diferentes videos que están en youtube (los videos son mios asi que tampoco habría problemas de copyright).
Para incluir el video lo hago de la siguiente manera:
video = xDoc.firstChild.childNodes[indice].firstChild.nextSibling.nextSibling.childNodes[0].nodeValue;
loader_video.load(new URLRequest(video));
addChild(loader_video);
loader_video.x=290;
loader_video.y=25;
donde en video recojo de un xml la dirección del video a cargar.

Con el primer video que quiera cargar( o si intentó volver a cargar el primero) ,sea el que sea no hay problema, me aparece bien y si le doy al play comienza a reproducirse.
Pero cuando intentó ver otro diferente,este ya no se carga ni me aparece por pantalla,y no consigo entender porque.
Cuando quiero cargar uno nuevo,lo que hago es:
removeChild(loader_video) //para borrar el contenido del anterior
video = xDoc.firstChild.childNodes[indice].firstChild.nextSibling.nextSibling.nextSibling.childNodes[0].nodeValue;
loader_video.load(new URLRequest(video));
addChild(loader_video);
loader_video.x=290;
loader_video.y=25;
Y aunque cree loaders diferentes para cada video tengo el mismo problema

Si los videos están en youtube el streaming ya sería el del video no?Hay que esperar a que se cargue el contenido aunque esten alojados alli?

Si alguien sabe por donde puede ir el tema me haría un favor,es la primera vez que trabajo con videos y flash y ando muy perdido.
Gracias

Por david_g

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2010 04:18 pm
Segun he leido,i antes de asignarle el nuevo contenido hago un "loader.unloadandstop()" no debería eliminar el contenido que tuviera y pararlo?
No me funciona tampoco

Por david_g

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2010 04:31 pm
en un principio con la función removeChild(loader_video), te tendria que funcionar. Quizá lo que tengas sea un problema de estructura en vez de código, yo en estos casos, prefiero colocar un boton "exit", que me para el video y me realiza el removeChild de ese video en concreto.

el codigo que suelo utilizar es este

Código ActionScript :

import fl.video.*;

var video_tec1:FLVPlayback = new FLVPlayback();
video_tec1.source = "videos/tecnics_1.f4v";
video_tec1.skin = "SkinOverAllNoCaption.swf";
video_tec1.skinBackgroundColor = 0x666666;
video_tec1.skinBackgroundAlpha = 0.5;
video_tec1.skinAutoHide = true;
video_tec1.width = 492;
video_tec1.height = 276;
video_tec1.x = -245;
video_tec1.y = -53;

var video_tec2:FLVPlayback = new FLVPlayback();
video_tec2.source = "videos/tecnics_2.f4v";
video_tec2.skin = "SkinOverAllNoCaption.swf";
video_tec2.skinBackgroundColor = 0x666666;
video_tec2.skinBackgroundAlpha = 0.5;
video_tec2.skinAutoHide = true;
video_tec2.width = 492;
video_tec2.height = 276;
video_tec2.x = -245;
video_tec2.y = -53;



addChildAt(vbackg,13);
addChildAt(exit_video,14);
addChildAt(fondo_video_oscuro,13);
addChild(video_tec1);
addChild(video_tec2);


//vbackg.alpha = 0;
//exit_video.alpha = 0;
//fondo_video_oscuro.alpha = 0;

removeChild(vbackg);
removeChild(exit_video);
removeChild(fondo_video_oscuro);
removeChild(video_tec1);
removeChild(video_tec2);


video_tec1.stop();
video_tec2.stop();






video_tecnics_1.addEventListener(MouseEvent.CLICK, vidtec1);

function vidtec1(e:Event):void{
   
   
addChildAt(vbackg,13);
addChildAt(exit_video,14);
addChildAt(fondo_video_oscuro,13);
//vbackg.alpha = 1;   
//exit_video.alpha = 1;
//fondo_video_oscuro.alpha = 1;
addChild(video_tec1);
video_tec1.play();
};


exit_video.addEventListener(MouseEvent.CLICK, exit_video_tec_1);
function exit_video_tec_1(e:Event):void{

video_tec1.stop();
removeChild(video_tec1);
//vbackg.alpha = 0;
removeChild(vbackg);
removeChild(fondo_video_oscuro);
//fondo_video_oscuro.alpha = 0;
removeChild(exit_video);
//exit_video.alpha = 0;

}

video_tecnics_2.addEventListener(MouseEvent.CLICK, vidtec2);

function vidtec2(e:Event):void{
   
   
addChildAt(vbackg,13);
addChildAt(exit_video,14);
addChildAt(fondo_video_oscuro,13);
//vbackg.alpha = 1;   
//exit_video.alpha = 1;
//fondo_video_oscuro.alpha = 1;
addChild(video_tec2);
video_tec2.play();
};


exit_video.addEventListener(MouseEvent.CLICK, exit_video_tec_2);
function exit_video_tec_2(e:Event):void{

video_tec2.stop();
removeChild(video_tec2);
//vbackg.alpha = 0;
removeChild(vbackg);
removeChild(fondo_video_oscuro);
//fondo_video_oscuro.alpha = 0;
removeChild(exit_video);
//exit_video.alpha = 0;

}


Saludos

Por kodama

99 de clabLevel

1 tutorial

Genero:Masculino  

Diseñador Web Freelance

safari
Citar            
MensajeEscrito el 08 Jul 2010 07:53 am
El caso es que yo los videos los tengo en youtube y por xml recibo el enlace,porque la verdad es que tienen un tamaño en peso un poco grande.
Pongo el código entero por si alguien ve algo donde esté fallando

Código ActionScript :

//loader para cargar el video que toque
var loader_video:Loader = new Loader();

//funcion para cargar el primero
function enlace_boton1(e:Event):void{
      loader_video.unloadAndStop();
                removeChild(loader_video);
      video = xDoc.firstChild.childNodes[indice].firstChild.nextSibling..childNodes[0].nodeValue;
      loader_video.load(new URLRequest(video));
      addChild(loader_video);
      loader_video.x=320;
      loader_video.y=75;
}

//funcion para cargar el segundo

function enlace_boton2(e:Event):void{
      loader_video.unloadAndStop();
                removeChild(loader_video);
      video = xDoc.firstChild.childNodes[indice].firstChild.nextSibling.nextSibling.childNodes[0].nodeValue;
      loader_video.load(new URLRequest(video));
      addChild(loader_video);
      loader_video.x=320;
      loader_video.y=75;
}

//dos movieclips con un evento que ejecute las funciones anteriores
primer_boton.addEventListener(MouseEvent.CLICK, enlace_boton1);
segundo_boton.addEventListener(MouseEvent.CLICK, enlace_boton2);

//y al inicio
function init(event:Event):void{
        xDoc.ignoreWhite = true;
     var animalsXML:XML = XML(xmlLoader.data);
     xDoc.parseXML(animalsXML.toXMLString());
        var img_inicial:String;
   img_inicial = xDoc.firstChild.childNodes[indice].lastChild.firstChild.nodeValue;
   loader_video.load(new URLRequest(img_inicial));
   addChild(loader_video);
   loader_video.x=290;
   loader_video.y=25;
}

Por david_g

6 de clabLevel



 

firefox

 

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