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!!!!!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Tu tip ya está en portada.
Muchas gracias.
Por desesperado el 17 de Enero de 2010
1 swf base: donde esta la botonera principal y todos los chiches.
desde aqui mediante el boton video llamo al swf que contiene los botones que muestro en el siguiente paso
2 swf donde estan los botones que llaman a los swf que contienen los videos
ej:
boton wuakaw
boton masato
boton Giorgio
3 swf contiene el video
en realidad uno swf por cada video.
Quizas marea un poco al principio, pero me gusta hacerlo asi ya que me es muy prolijo para trabajarlos y cargan rapido.
Es por ello que utlizo el _root.
Tambien puedes hacerlo sin tanto swf dando vueltas
creas tu swf
creas un boton
y a este le pones el codigo de llamado.
por ejemplo:
aqui hay un solo swf, y varios botones pero con funciones que no vienen al caso.
Clikea en play y funcionando...
Cualquier cosa avisas.
Saludos
Te lo agradezco, juro que me será de utilidad.
Saludos
me alegra que te sea util el tip, saludos y suerte con el proyecto.
Por ernesto el 25 de Enero de 2010
Por kalitos de colombia el 25 de Enero de 2010
un dia de estos le mandaremos una bonificacion
porue nos salvaste la vida.
fuiste nuestro salvador.
jajajajajajajaja
todo bn parcero
Saludos.
Por kalitos de colombia el 26 de Enero de 2010
para permitir que esta aplicaciòn se comunique con internet, haga click en configuraciòn. despùes de cambiar la configuraciòn debe reiniciar la aplicaciòn"
y hago todo bien pero no me sale.
pero en flash cuando le undo control + enter. si reproduce todo bien..
que solucion me recomiendas "porfa ayudame a resolver este problema"
todo bn y gracias de nuevo
creo que puede ser util para ti.
Saludos
El objetivo de Macromedia es proporcionar al usuario el control de sus propios datos y equipos. En Macromedia Flash Player 8 y versiones posteriores, hay determinados tipos de contenidos locales que tienen restringido el acceso a datos de su equipo y su envío a Internet sin su conocimiento o consentimiento.
Si lo anterior no funciono chequea aqui
Saludos
Por desesperado el 27 de Enero de 2010
Saludos.
Por Jenni el 27 de Enero de 2010
Por kalitos de colombia el 01 de Febrero de 2010
seras recompensado algun dia gracias parce.
_root.ytplayer.stopVideo();
_root.ytplayer.clearVideo();
_root.ytplayer.destroy();
recuerda que estos 3 son los que quitan al video de pantalla
ytplayer.stopVideo();
ytplayer.clearVideo();
ytplayer.destroy();
si trabajas dentro de movieclips usa_parent
Saludos
Por Cronnos el 18 de Febrero de 2010
Por santo el 21 de Febrero de 2010
la mas simple seria asi:
creas un swf y en el primer frame de este le pegas el codigo de llamada.
Luego te vas al swf donde estan lo botones y le dices al boton que llame al swf donde esta tu video...
La otra manera seria:
directamente en el swf que usas de botonera, pegas el codigo de llamada a cada boton.
Saludos...
Por wanna go el 18 de Marzo de 2010
Por marlon el 19 de Marzo de 2010
Por marlon el 19 de Marzo de 2010
Saludos
Por Andres el 29 de Abril de 2010
lei mas arriba la misma preguta y tu haz dado la respuesta pero no me sale le he puesto esto
_parent.ytplayer.stopVideo();
_parent.ytplayer.clearVideo();
_parent.ytplayer.destroy();
ayudame por favor gracias
Por wendasierra el 08 de Mayo de 2010
me gustaría saber como hiciste el menú de vídeos
Muyyyyyyyyyyyyyyy buen aporte
http://www.cristalab.com/tips/controlar-videos-de-youtube-insertados-en-un-swf-de-flash-c83202l/
Andres, en cada fotograma o boton que te lleve a otro viedeo debes agregar:
ytplayer.stopVideo();
ytplayer.clearVideo();
ytplayer.destroy();
recuerda que si estas en otro swf deberas poner _root
saludos
Por glimoh el 16 de Mayo de 2010
Estuve revisando el tutorial y las preguntas del foro. El código para reproducir el video funciona muy bien, el problema es a la hora de quitar el video, no funciona el código, ni con root ni con parent.
Creo que es un problema que tenemos varios.
No podrías subir el archivo .fla?
Muchas gracias por tu aporte
http://crearte.uphero.com/youtube.html
Saludos...
http://www.muaythaiboran.netau.net/
Aunque todavia queda ajustar un poco el codigo y algunas fallitas, el proposito va encaminado.
Codigos y manipulacion del video los van a encontrar en los dos tips de flashyoutube aqui en Cristal.
Saludos
Por francisco obregon el 31 de Mayo de 2010
no puedo descargar el fla ..dice error
Saludos.
Por alonso el 16 de Junio de 2010
ytplayer._xscale=210;
ytplayer._yscale=190;
Un 40 - 40 (como el burca 2 bocas en un V8 Ford ) seria buen promedio.
ytplayer._xscale=40;
ytplayer._yscale=40;
El tamaño estaba definido para un sitio con diagramacion liquida, por ello el zoom que ves.
Saludos
Por alonso el 16 de Junio de 2010
voy a explicar un poquito
toda mi pagina esta en flash he puesto un menu y en un boton dice galeria de video al cual le hice un moviclip dentro de ese moviclip le puse el codigo para llamar al youtube. cuando doy ctrl+Enter
se reproduce normal pero cuando le doy clic al boton galeria de video todo mi flash se agranda como si se hiciera un zoom a todo el flash. pueden ver la muestra en www.frenosa.com.pe/new en la seccion de videos. esto solo pasa en monitores con resolucion de 1024 x 768.
Por Leandro el 30 de Junio de 2010
Te paso algunos de los codigos
&autoplay=1 (inicia automaticamente)
&loop=1 (se repite el video una vez finalizado)
&showsearch=1 (no muestra el menu videos)
Como utilizarlo?
Al final del codigo que pegas, siempre entre las comillas no?, agregas el codigo que necesites.
Código :
nota:
&= este simbolo aparece raro pero es la y que esta en el 6 (shift + 6).
Saludos
Por Leandro el 01 de Julio de 2010
ya que estamos.. esos que me dijiste me ayudaron para buscar otros y encontre estos:
1. rel
2. autoplay
3. loop
4. enablejsapi
5. playerapiid
6. disablekb
7. egm
8. border
9. color1, color2
pero no encontre nada para deshabilitarle el link, es cencillo lograr que cuando den click arriva no pase nada y no los lleve a youtube?
Por Leandro el 01 de Julio de 2010
Te explico mas o menos como para que te des la idea:
1) En el layer uno, frame uno tienes el codigo que llama a tu video YouTube no?
2)Crea un segundo layer, dibuja un rectangulo y conviertelo en boton.
A este boton dale un alpha 0 (o directamente crealo transparente /invisible). y nombre de instacia tuboton_btn
3)Crea otro layer (solo por ser prolijo) y en el frame uno de este, haces que la manito de este boton gigantesco desaparesca.
Código :
.Como veras en el ejemplo que te di puedes hacer muchisimas cosas mas, como por ejemplo que por medio de un boton avance a una parte determinada del video y si quieres tambien podrias decirle que en determinado tiempo de este aparesca un MC explicando lo que sucede en el video.
Bueno... Suerte con el proyecto.
Saludos
Algunos codigos comunes utilizados
Fuente: geektheplanet.net
1. Ver Videos en alta calidad (High Quality): Algunos videos que se suben a youtube están en alta calidad, sin embargo por defecto y por estándar son mostrados en una calidad normal, sin embargo es posible ver algunos videos con mejor calidad, simplemente debemos agregar al final de la URL del video lo siguiente: &fmt=18 (stereo, resolución 480 x 270) o &fmt=22 (stereo, resolución1280 x 720).
Ejemplo:
Código :
2. Insertar videos en alta calidad: El anterior truco funciona para reproducir los videos de alta calidad, este sirve para poder insertar en nuestras web los videos en alta calidad, debemos agregar lo siguiente: &ap=%2526fmt%3D18 o &ap=%2526fmt%3D22.
Ejemplo:
Código :
3. Mostrar los videos desde un segundo determinado: Hay algunos videos donde la acción comienza segundos, tal vez minutos después que comienza el video, para que el video se empiece a reproducir desde un tiempo determinado debes agregar lo siguiente #t=XXmYYs (donde XX son los minutos y YY los segundos).
Ejemplo:
Código :
4. Ocultar el cuadro de búsqueda: Este cuadro de búsqueda aparece cuando ponemos el mouse sobre un video insertado, para quitar este cuadro podemos agregar lo siguiente: &showsearch=0.
Ejemplo:
Código :
5. Insertar sólo una parte del video: Este truco funciona parecido al número 3, este sirve saltarse los primero X segundos del video, debemos agregar al final de la URL lo siguiente: &start=30.
Ejemplo:
Código :
6. Reproducción automática de un video insertado: Los videos de youtube por lo general están en stop, a la espera de que les demos click en el botón play para comenzar la reproducción, si queremos que el video comience la reproducción inmediatamente después que son cargados debemos insertar al final lo siguiente: &autoplay=1.
Ejemplo:
Código :
7. Repetir automáticamente un video: Los videos por defecto sólo se reproducen 1 ocasión, si queremos que lo siga haciendo tenemos que darle click a replay cuantas veces queramos repetir el video, con la siguiente opción automatizamos el proceso, el video se repetirá indefinitidamente agregando al final de la URL: &loop=1.
Ejemplo:
Código :
8. Desactivar los videos relacionados: Cuando los videos terminan su reproducción aparecen a modo de publicidad, más videos, ya sea del mismo artista, del mismo género o de la misma categoria, para desactivar eso simplemente debemos agregar al final de la URL: &rel=0.
Ejemplo:
Código :
9. Desactivar el filtrado por regiones: Por alguna razón, algunos videos videos de youtube sólo se encuentran disponibles para ciertas regiones del globo, youtube utilizar tu IP para identifcar tu ubicación y a continuación negarte el acceso, para impedir que esto sucesa debemos cambiar http://www.youtube.com/watch?v por
Código :
10. Descargar videos de youtube: Para descargar videos de youtube ya han salido muchisimas aplicaciones, hacerlo de esta manera es una de las más prácticas, simplemente debemos cambiar http://www.youtube.com/watch?v por http://www.KeepHD.com/watch?v=.
Por Leandro el 01 de Julio de 2010
y otra pregunta. me vas a odiar.. hay forma de insertar el video con la version del reproductor que tiene la barra de volumen horizontal?
Mmmm... La verdad es que no he tratado este tema, pero quizas si creas una lista de reproduccion personalizada, el video que quieras mostrar aparecera en el nuevo reproductor con el volumen horizontal, (no estoy seguro de esto).
Tu problema es por el boton invisible no?.
En mi caso, suelo ademas del boton "invisible", hacer un marco tapando los controles del reproductor y creando mis propios controles, ya se que es medio engorroso pero bue, de esta forma puedo añadir muchas mas opciones, como te comentaba mas arriba.
Prueba con el reproductor personalizado, a este lo puedes encontrar en el sitio de youtube reproductor personalizado.
_Debes tener una cuenta de usuario en youtube.
_Debes crear una lista de reproduccion, asi sea un solo video.
_Luego dar el formato de tu reproductor y una vez finalizado este, te dara el codigo para pegar.
Lo malo de esto es que deberas tapar la lista de reproduccion si eliges la opcion de mostrarla, sino el problema estara con los botones izquierda - derecha para avanzar o retroceder entre los videos.
Bueno... vere si descubro algo sobre el tema y te aviso.
Saludos
Por sandrasw02 el 09 de Julio de 2010
yo he usado tu mismo codigo pero quiero cargar el video en un tercer nivel dentro de mi web que esta hecha en flash. Yo vengo cargando la pagina asi, mi home es es mi nivel 0, mi pelicula videos es el nivel1 y la peli donde va insertado el video es el nivel 3 pero este ultimo lo estoy cargando con un contendor llamado carga. Mi pregunta es, como hago para que mi video se mantenga al centro de stage, si estoy usando diagramacion liquida con Stage.align = "TL".
Please me encantaria que me resolvieras esta duda lo mas pronto posible.
Saludos
Por anajim el 13 de Julio de 2010
he usado tu tutorial para youtube y me va perfecto. Lo he intentado con vimeo y no me funciona, ¿lo has probado alguna vez? ¿Cómo sería?
Gracias de antemano.
Por Roberto el 21 de Julio de 2010
Por JuanJus el 31 de Julio de 2010
Por jett el 21 de Agosto de 2010
me sale un error:
"1046: No se encontró el tipo o no es una constante en tiempo de compilación: Void."
que hago?
atte: [email protected]
Por darkeyes el 30 de Agosto de 2010
Mientras reproduscas el video enelboton "galeria" presiona el boton "nosotros" y t daras cuenta el problema t dejo el FLA para q lo revises
[URL="http://www.megaupload.com/?d=3WFK3RSP"]http://www.megaupload.com/?d=3WFK3RSP[/URL]
por cierto haber si tmb dejas el FLA q dejastes para guiarnos porque no funca :/
Por Alexi el 06 de Noviembre de 2010
Por lionds el 07 de Diciembre de 2010
*** Violación de la seguridad Sandbox ***
El dominio de seguridad 'http://s.ytimg.com/yt/swf/cps-vfljSuTx2.swf' ha intentado acceder al contexto incompatible 'http://www.youtube.com/v/wFUoqNVc0qU&hl=es_ES&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999&autoplay=1&loop=1&showsearch=1'
y pues eso sucese con todos las url q inserto. Espero me puedas ayudar.
Por orlando el 08 de Diciembre de 2010
Por julio el 12 de Diciembre de 2010
var cargador:MovieClip
=this.createEmptyMovieClip
("cargador",0);
cargador._x=300; //esto es un número arbitrario, si no lo especificas, el _x será 0
cargador._y=-240; // de igual manera
cargador.loadMovie("mt3.swf");
EL codigo lo metí en un Clip de Pelicula. Tres Clips en tres fotogramas de la linea de tiempo.
Bueno, sigo probando.
Se agradece.
Por Julio el 14 de Diciembre de 2010
He tratado de probar todas las posibilidades sin exito.
Como cuento en el comment anterior, sí me resulta poniendo el codigo de llamada de video en diferentes fotogramas, y que los botones vayan y se detengan en el fotograma correspondiente:
http://www.buselefante.com/videos.html
Lo malo de esto es que para efectos del diseño no puedo ocultar como tú haces, los extremos de la caja de youtube y sobreponer los gráficos que quisiera, el video siempre se muestra adelante por mas objetos que ponga delante.
Ojalá te des una vuelta por este foro y me respondas.
Saludos cordiales.
Por jose el 08 de Febrero de 2011
Por LatexX el 14 de Febrero de 2011
Los links a archivos de ejemplo no funcionan más.
Serían tan amables de postear un .zip con ejemplos?
Gracias por su esfuerzo y tiempo.
LTX
Por 192juan_ el 17 de Marzo de 2011
Mi mail: [email protected]
Gracias
Por orlando el 25 de Marzo de 2011
Por juan david acevedo el 04 de Mayo de 2011
Por max el 07 de Mayo de 2011
Por Mariano el 31 de Mayo de 2011
Por ricky el 18 de Junio de 2011
Por dulce existencia el 07 de Septiembre de 2011
Por alejo el 31 de Octubre de 2011
Por Harkam el 04 de Mayo de 2012
Por Baldo el 24 de Mayo de 2012
Por Julio el 25 de Mayo de 2012
Solo que de pronto en firefox se dejó de ver. No se si se deberá a la última actualización de FF...
En IE, Chrome y Opera se ve ok.
Saludos.
Por Cristina el 25 de Agosto de 2012
*** Violación de la seguridad Sandbox ***
Sigo igual, aún si pongo en la primera línea:
Security.allowDomain("www.youtube.com");
System.security.allowDomain("*");
Cuando lo monto en html no me abre youtube. Me dice que es por seguridad y se cierra solito.
¿Alguna solución antes de que me tire por el balcón? Gracias!!