Comunidad de diseño web y desarrollo en internet

Insertar videos de youtube en Flash

Encontré varios tutos para insertar videos de youtube en SWF, pero ninguno me fue definitivo a la hora de realizar el trabajo. Entre todos ellos, logré colocar youtube en flash, así que para quienes todavía andan peleando, ahí va.

Comencé con el mismo problema que la mayoría "Violación de la seguridad Sandbox", hasta que se me dio luego de varios intentos por probar en el servidor y solucionado el problema, en el servidor funciona correctamente.

Código para llamar al video Youtube en Flash


Código :

var ytplayer:MovieClip = _root.createEmptyMovieClip("ytplayer", 1); 
var ytPlayerLoaderListener:Object = new Object(); 
   ytPlayerLoaderListener.onLoadInit = function( Void ):Void { 
   this.loadInterval = setInterval(checkPlayerLoaded, 250); 
} 
function checkPlayerLoaded( Void ):Void { 
   if (ytplayer.isPlayerLoaded()) { 
      ytplayer.addEventListener("onStateChange", onPlayerStateChange); 
      ytplayer.addEventListener("onError", onPlayerError); 
      clearInterval(this.loadInterval); 
   } 
} 
function onPlayerStateChange(newState:Number):Void { 
   trace("New player state: "+ newState); 
} 
function onPlayerError(errorCode:Number):Void { 
   trace("An error occurred: "+ errorCode); 
} 
 
var ytPlayerLoader:MovieClipLoader = new MovieClipLoader(); 
ytPlayerLoader.addListener( ytPlayerLoaderListener ); 
 
// load the player 
ytPlayerLoader.loadClip("http://www.youtube.com/v/zM4P4VC1Y4w&hl=es_ES&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999", ytplayer); 
ytplayer._x =300; 
ytplayer._y = 60; 
ytplayer._xscale=85; 
ytplayer._yscale=85;  


y este es el código para quitar el video cargado y pasar a otro desde un boton:

Código :

on(release){ 
   _root.attachMovie("inst2","z_mc",5); 
   _root.   z_mc._x=0; 
   _root.   z_mc._y=28; 
   _root.   z_mc.loadMovie("camp2.swf"); 
   //borra anterior video ------------------------------------- 
   _root.ytplayer.stopVideo(); 
   _root.ytplayer.clearVideo(); 
   _root.ytplayer.destroy(); 
}

Como verán, utilizo la propiedad _root, esto es debido a que los botones que llaman a los videos están en un swf externo.

Para utilizar y manipular el video en flash deberás copiar desde el sitio web de youtube el codigo del cuadro de texto INSERTAR , del video que mas te guste.

Este es el codigo que obtuve de youtube:

Código :

<object width="425" height="344">
<param name="movie" value="[color=#204A87][b]http://www.youtube.com/v/ETQ0urHjSIk&hl=es_ES&fs=1&[/b][/color]"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/ETQ0urHjSIk&hl=es_ES&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
</object>

Solo toma del código obtenido, lo que esta en azul, si observas, youtube te da distintas opciones de configuración ,tanto en color como en tamaños etc, mientras tus escoges el mas agradable, el código solito va cambiando, asi que chequeando esto y mirando las variantes de este, puedes modificar a gusto luego de entenderlo un poquito...

Aqui lo puedes ver funcionando en flash en el botón donde dice videos.

Control de tamaño y posición dentro del código


Desde aquí controlas posiciones y alto por ancho:

Código :

ytplayer._x =300; //eje x desplazamiento 
ytplayer._y = 60; //eje Y desplazamiento 
ytplayer._xscale=20;// tamaño en ancho 
ytplayer._yscale=85; //tamaño en alto

Recuerda que para que un video suplante a otro, todos deben estar en un mismo MC, misma profundidad.

Ejemplos


Ejemplo: BOTON video 1

Código :

on(release){ 
   //BOTON DE VIDEO 1-------- 
   _root.attachMovie("inst2","z_mc",5); 
   _root.   z_mc._x=0; 
   _root.   z_mc._y=28; 
   _root.   z_mc.loadMovie("mt1.swf");


Ejemplo: BOTON video 2

Código :

on(release){ 
   _root.attachMovie("inst2","z_mc",5); 
   _root.   z_mc._x=0; 
   _root.   z_mc._y=28; 
   _root.   z_mc.loadMovie("mt2.swf");

Tienen el mismo MC, la misma profundidad y solo cambia el swf donde estan los distintos videos.

También recuerda poner en cada botón de tu swf principal o los que creas necesarios, el código para borrar los videos, sino, aunque utilices el mismo MC y la misma profundidad, te quedara el audio encendido.

Código :

ytplayer.stopVideo(); 
ytplayer.clearVideo(); 
ytplayer.destroy();

Por ultimo, prueben siempre, antes de subir al servidor que el código este bien, esto lo van a hacer presionando control enter o como mas les guste, pero no lo saturen porque suele colgar todo el flash, una vez que ven que aparece el video junto a la leyenda de "violacion sand" quiere decir que va a ir todo bien...

Espero les sea util. Saludos y lindo año para todos!!!!!

Cristalab y Mejorando.la te traen el Curso Profesional de Node.js y Javascript. Online, avanzado, con diploma de certificación y clases en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate