Publicar Videos de Youtube en Flash

Compartir vídeos de Youtube es una tarea común y sencilla en HTML con el código que ofrece Youtube el cual se coloca en el código html. Veamos como publicar vídeos de Youtube en páginas hechas en Flash, para ello utilizaremos el API YouTube ActionScript 2.0 Player API Reference el cual brinda métodos para embeber los vídeos en Flash.

Cargando Flash

Cargando Videos de Youtube
Para cargar un vídeo de Youtube se debe cargar como si fuera un MovieClip normal, para ello se puede utilizar los métodos de la clase MovieClipLoader. Para la ruta de los vídeos se puede utilizar el URL: http://www.youtube.com/v/ID Donde ID es el identificador del vídeo que se desea visualizar. Entonces si tenemos un MovieClip llamado clip donde deseamos mostrar el vídeo tendríamos el siguiente código:

  1. var tload:MovieClipLoader = new MovieClipLoader();
  2. tload.loadClip("http://www.youtube.com/v/Jmhpy8c8hbw", clip);

El vídeo se carga correctamente pero con dimensiones de 480 x 385 pixels. Si deseamos cargar los vídeos con un tamaño especifico sin deformar el vídeo es necesario crear un detector de eventos para ejecutarlo cuando el player del video se ha cargado completamente.

  1. var tinte:Number;
  2. var tlist:Object = new Object();
  3. tlist.onLoadInit = function() {
  4.     tinte = setInterval(checkVideo, 250);
  5. }
  6. var tload:MovieClipLoader = new MovieClipLoader();
  7. tload.addListener(tlist);
  8. tload.loadClip("http://www.youtube.com/v/Jmhpy8c8hbw", clip);

Una vez que se ha cargado player de Youtube, utilizamos la función checkVideo que se encarga de verificar que el player, una ver cargado el player asignamos las dimensiones con el método setSize. Notar que al inicio hemos ocultado el player asignándole transparencia 0, al final después de haber redimensionado el player volvemos a mostrar el video cambiando la transparencia a 100.

  1. clip._alpha = 0;
  2.  
  3. var tinte:Number;
  4. var tlist:Object = new Object();
  5. tlist.onLoadInit = function() {
  6.     tinte = setInterval(checkVideo, 250);
  7. }
  8. var tload:MovieClipLoader = new MovieClipLoader();
  9. tload.addListener(tlist);
  10. tload.loadClip("http://www.youtube.com/v/Jmhpy8c8hbw", clip);
  11.  
  12. function checkVideo() {
  13.     if (clip.isPlayerLoaded()) {
  14.         clip.setSize(348, 278);
  15.         clip._alpha = 100;
  16.         clearInterval(tinte);
  17.     }
  18. }

Listo, tenemos nuestro vídeo cargado y con las dimensiones deseadas en Flash. Les dejo los archivos fuentes para que lo descarguen y hagan sus pruebas.

Comentarios Total 17 comentarios



[...] Excerpt from:  Publicar Videos de Youtube en Flash | unijimpe [...]

Savio
Publicado: 04/12/2009 11:33 am

Se podra cargar un video de Youtube a una web con un player personalizdo en Flash? … ejemplo… llamo los videos desde un xml hosteados en mi web, pero me gustaria q fuesen los q tengo en youtube…
http://mdsavio.com/video.html … a ver si se puede hacer… Gracias!!!

CRISTIAN
Publicado: 05/12/2009 12:38 pm

hola soy cristian y tengo un video de dragon ball af

Lex
Publicado: 24/12/2009 1:40 am

Hola, este es uno delos blog que acostumbro visitar -aun cuando no este actualizado-

Quería saludar a traves de esta postal que hice en Flash: http://vimeo.com/8355453

espero sea del agrado, saludos y Feliz Navidad

jim
Publicado: 28/12/2009 1:14 am

ya acualizale men!

david
Publicado: 31/12/2009 11:35 am

me funciono muy bien pero cuando voy a otra seccion del la pagina, o sea abro otro swf sigue funcionando en audion y se me cuelga todo, probe con un stopallsound () pero no funciona, hay alguna posiblilidad de eliminarlo de alguna forma,alguien podo hacerlo?

tomii
Publicado: 07/01/2010 4:30 am

utilice el codigo funciona bien en local, pero quiero poner videos en mi web directamente y me sale el video perfecto pero como a los 25 segundos o menos se baja el volumen y luego despues de unos 15 segundos aproximados vuelve a reproducir el sonido….a alguien le ha hecho pruebass…

les agradeceria si tuvieran respuesta

Carlos
Publicado: 20/01/2010 1:07 pm

Buenas, estoy intentando poner un menu de videos para cuando pinche sobre cualquiera de ellos salga reproduciendose, el problema es que cuando se carga el nuevo se sigue escuchando el antiguo y el tiempo del video coje el del antiguo, lo que hecho es eliminar tanto el clip cargado como el evento que se invoca pero nada, haber si me podrias echar una manilla. Gracias

Aqui puedes ver lo que te comento.

http://www.siprocor.com/web/youtube/youtube.html

Alejandro
Publicado: 24/01/2010 2:20 pm

Buenas tardes, saludos a todos
ya pude insertar el video de you tube en flash con AS2
gracias por el aporte.
Pero estoy desarrollando una pagina que esta en AS3… ¿Cual seria el codigo
para poder insertar el video de youtube.?

les agradesco su ayuda
muchas gracias

Alejandro

jorge e navarrete
Publicado: 17/02/2010 5:09 am

como seria esto en AS3, oye y exixte algo parecido al toobplayer pero para AS·


*** Violación de la seguridad Sandbox ***
El dominio de seguridad ‘http://s.ytimg.com/yt/swf/cps-vfl146282.swf’ ha intentado acceder al contexto incompatible ‘http://www.youtube.com/v/a39COPbYjB0′
*** Violación de la seguridad Sandbox ***
El dominio de seguridad ‘http://s.ytimg.com/yt/swf/cps-vfl146282.swf’ ha intentado acceder al contexto incompatible ‘file:///E|/Documents%20and%20Settings/Administrador/Escritorio/ANGEL%20DISEÑO%202010/YOSOYTUANGEL%20WEB/yosoytuangel%20web6.swf’
*** Violación de la seguridad Sandbox ***
El dominio de seguridad ‘http://www.youtube.com/v/a39COPbYjB0′ ha intentado acceder al contexto incompatible ‘file:///E|/Documents%20and%20Settings/Administrador/Escritorio/ANGEL%20DISEÑO%202010/YOSOYTUANGEL%20WEB/yosoytuangel%20web6.swf’
Error al abrir la URL ‘http://www.youtube.com/get_video?video_id=a39COPbYjB0&t=vjVQa1PpcFPJIyRwbUbRYKP36gynrU2xKdQP1EDcf-w=&eurl=file%3A%2F%2F%2FE%7C%2FDocuments%2520and%2520Settings%2FAdministrador%2FEscritorio%2FANGEL%2520DISE%C3%91O%25202010%2FYOSOYTUANGEL%2520WEB%2Fyosoytuangel%2520web6%2Eswf&el=embedded&ps=default&fmt=5&asv=2&noflv=1′
Error al abrir la URL ‘http://video-stats.video.google.com/s?ns=yt&docid=a39COPbYjB0&el=embedded&ps=default&vid=qBZdAQ5Hhg6APRG4X4andj5SF6KDZoP7C&eurl=file%3A%2F%2F%2FE%7C%2FDocuments%2520and%2520Settings%2FAdministrador%2FEscritorio%2FANGEL%2520DISE%C3%91O%25202010%2FYOSOYTUANGEL%2520WEB%2Fyosoytuangel%2520web6%2Eswf&hl=en_US&cr=US&hbd=4222038&hbt=16.079&rt=0.695&plid=AAR_zZddyPId__9z&fmt=5&md=1&sd=B4A7D0243HH&vw=320&vh=240&w=348&h=253&bc=52164&len=216.984&st=0.033&et=0.033&fv=WIN%209%2C0%2C45%2C0′
*** Violación de la seguridad Sandbox ***
Se ha detenido la conexión con file:///E|/Documents%20and%20Settings/Administrador/Escritorio/ANGEL%20DISEÑO%202010/YOSOYTUANGEL%20WEB/ – no se permite desde http://i2.ytimg.com/vi/a39COPbYjB0/hqdefault.jpg
– Los SWF remotos no pueden acceder a archivos locales.

pablo
Publicado: 17/02/2010 9:53 pm

se puede insertar un video de VIMEO EN FLASH O UN SWF????????????????
NECESITO SABER ESO YA QUE MI WEB ESTA HECHA COMPLETAMENTE EN FLASH, Y QUIERO COLOCAR UN VIDEO DE VIMEO.. PERO NO SE COMO…

AYUDENME!!!!!!!!!!!!

Marcelo
Publicado: 23/04/2010 10:15 am

Ante todo te agradezco de corazón por publicar este tutorial, es realmente genial lo que has logrado.

Me funciona a la perfección, lo cargo en un nivel mediante loadMovie y se ve perfecto, pero lamentablemente al descargarlo utilizando unloadMovie el sonido continúa reproduciéndose sin poder pararlo, la única solución que encontré es reiniciar la web pero claro, no es realmente una “solución”.

Agradecería tu ayuda. Abrazo!!!

Alberto Melón
Publicado: 11/06/2010 6:23 am

Pon en el botón correspondiente un ‘stop.all.sounds’ y listo

alan
Publicado: 22/06/2010 1:12 am

que buen script, me funciono muy rápido y me saco de dudas, muy bien armando y eficiente, felicidades es en absoluto lo que buscaba

sunix
Publicado: 22/06/2010 5:41 pm

Hola, muy buen ejemplo, es el unico que me a funcionado… e podido editarlo y hacer muchas mas cosas… ya logre solucionar el problema de que cuando cargo otro video no continue el anterior… pero aun asi tengo otro problema…

Cuando navego hacia otro menu de mi web no puedo detener la reproduccion del video.. ya que las funciones stopallsound() y las otras funciones para detener y eliminar el video no funcionan cuando las ejecuto desde otro flash dentro de mi web… ejecutandolas con _root tampoco funciona xD..

Alguien sabe algo?

gracias

angel
Publicado: 27/07/2010 5:43 am

Yo estoy en la misma situacion. No consigo hacer que detras del video haya otro video reproduciendose. La unica posibilidad es recargar la pagina, pero no es muy funcional si tienes varios videos que tienen que ir cargando a modo de galeria.

Alguien ha podido solucionar el problema?

 

Comentar

En este blog los comentarios están moderados, serán mostrados cuando el administrador los apruebe. Por favor, evita comentarios ofensivos u obscenos por que no serán aprobados.
Si deseas publicar código fuente debes hacerlo entre las etiquedas <code> y </code>, además debes reemplazar los carácteres < por &lt; y > por &gt;.

(Requerido)

(Requerido, no será publicado)

(Requerido)

(Tags aceptados: <a> <em> <strong> <code> <ul> <li>)