-
//Dominio donde esta alojado nuestro php
-
var dominio:String = "";
-
//nuestro php propiamente dicho
-
var FilePHP:String = "phpyoutube.php";
-
//nuestro xml con la lista de videos
-
var FileXML:String = "videos.xml";
-
//el valor de id del video en youtube
-
var id:String = "";
-
//
-
var contador:Number = 0;
-
//
-
var miXML:XML = new XML();
-
miXML.ignoreWhite = true;
-
//
-
var ListVideos:Array = new Array();
-
miXML.onLoad = function(ok) {
-
if (ok) {
-
ListVideos = this.firstChild.childNodes;
-
cantVideos_txt.text = "total videos: "+String(ListVideos.length);
-
id = ListVideos[0].attributes.id;
-
cargarVideo();
-
loadDtaVdo();
-
//
-
} else {
-
}
-
};
-
miXML.load(dominio+FileXML);
-
//aca recibimos el resultado del php
-
var result_lv:LoadVars = new LoadVars();
-
result_lv.onLoad = function(success:Boolean) {
-
if (success) {
-
/*********************************************/
-
//desde aqui el cambio realizado para el 08-10-2009
-
var varsTemp:LoadVars = new LoadVars()
-
varsTemp.decode(String(this))
-
var urlText:String = varsTemp.toString()
-
urlText = urlText.substr(35,urlText.length)
-
urlText = urlText.split('%2C').join(',');
-
urlText = urlText.split('%2E').join('.');
-
urlText = urlText.split('%2F').join('/');
-
urlText = urlText.split('%3F').join('?');
-
urlText = urlText.split('%3D').join('=');
-
urlText = urlText.split('%3A').join(':');
-
my_ns.play(urlText);
-
//hasta aqui el cambio realizado para el 08-10-2009
-
-
} else {
-
trace("Error connecting to server.");
-
}
-
};
-
//enviamos los datos al php
-
var send_lv:LoadVars = new LoadVars();
-
function cargarVideo() {
-
status_txt._visible = true;
-
status_txt.text = "cargando...";
-
send_lv.item = id;
-
send_lv.type = 0;
-
send_lv.sendAndLoad(dominio+FilePHP,result_lv,"GET");
-
}
-
//el encargado de cargar y reproducir el video
-
var my_video:Video;
-
var my_nc:NetConnection = new NetConnection();
-
my_nc.connect(null);
-
var my_ns:NetStream = new NetStream(my_nc);
-
my_video.attachVideo(my_ns);
-
//suavizado del video
-
my_video.smoothing = true;
-
//duracion del buffer
-
my_ns.setBufferTime(4);
-
//duracion del video
-
my_ns.onMetaData = function(infoObject:Object) {
-
//trace(Math.floor(infoObject.duration));
-
};
-
//enviamos datos de que esta sucediendo
-
my_ns.onStatus = function(infoObject:Object) {
-
if (infoObject.code == "NetStream.Buffer.Full") {
-
status_txt._visible = false;
-
}
-
if (infoObject.code == "NetStream.Play.Start") {
-
status_txt._visible = true;
-
buffer();
-
}
-
if (infoObject.code == "NetStream.Play.Stop") {
-
status_txt.text = "Video finalizado!";
-
}
-
if (infoObject.code == "NetStream.Play.StreamNotFound") {
-
status_txt.text = "No se encontro el video!!!";
-
}
-
};
-
//con esto sabemos si ya esta el buffer listo!
-
function buffer() {
-
this.onEnterFrame = function() {
-
var porcentaje:Number = Math.min(Math.round(my_ns.bufferLength/my_ns.bufferTime*100), 100);
-
status_txt.text = "Buffer:"+porcentaje+"%";
-
if (porcentaje == 100) {
-
delete this.onEnterFrame;
-
}
-
};
-
}
-
//un efectito fade
-
MovieClip.prototype.fade = function(direccion:String, velocidad:Number) {
-
if (direccion == "in") {
-
var efecto = mx.transitions.easing.Regular.easeIn;
-
this.mi_Tween = new mx.transitions.Tween(this, '_alpha', efecto, this._alpha, 100, velocidad, true);
-
} else {
-
var efecto = mx.transitions.easing.Regular.easeOut;
-
this.mi_Tween = new mx.transitions.Tween(this, '_alpha', efecto, this._alpha, 0, velocidad, true);
-
}
-
};
-
//creamos la funcionalidad de los botones y cargamos los datos de la info
-
function loadDtaVdo() {
-
for (var i = 0; i<2; i++) {
-
this["video"+i].fdoFicha_mc._alpha = 0;
-
this["video"+i]._alpha = 0;
-
this["video"+i].fade("in",0.5);
-
var temp = this["video"+i].fdoFicha_mc;
-
this["video"+i].reproducir_mc.fondo = temp;
-
this["video"+i].mini_mc.loadMovie("http://img.youtube.com/vi/"+ListVideos[contador].attributes.id+"/1.jpg");
-
this["video"+i].titulo_txt.text = ListVideos[contador].attributes.titulo;
-
this["video"+i].descripcion_txt.text = ListVideos[contador].firstChild;
-
//
-
this["video"+i].reproducir_mc.id = ListVideos[contador].attributes.id;
-
this["video"+i].reproducir_mc.onRelease = function() {
-
video0.fdoFicha_mc._alpha = 0;
-
video1.fdoFicha_mc._alpha = 0;
-
this.fondo.fade("in",0.5);
-
id = this.id;
-
cargarVideo();
-
//
-
};
-
if (this["video"+i].reproducir_mc.id == id) {
-
this["video"+i].fdoFicha_mc.fade("in",0.5);
-
}
-
if (contador == ListVideos.length-1) {
-
contador = 0;
-
} else {
-
contador++;
-
}
-
}
-
}
-
//accion boton siguiente
-
siguiente_btn.onRelease = function() {
-
loadDtaVdo();
-
};
-
//
4th Enero, 2008 at 3:29 pm
estoy intentando estudiar tu archivo para reproducir videos de youtube.
¿Es posible añadirle a los vídeos play-pause y ajuste de sonido?
Lo he intentado pero no lo consigo
17th Enero, 2008 at 7:53 pm
Para controlar el sonido simplemente debajo de todo el codigo puedes poner asi:
var sonido:Sound = new Sound()
sonido.setVolume(20)
el valor 20 es el volumen 0 es nada y 100 es el maximo volumen del sonido
17th Enero, 2008 at 7:57 pm
Para pausar el video simplemente llama esto mediante una acción o función y listo:
my_ns.pause()
Recorda que esto pausa el video si este se esta reproduciendo y si esta pausado esta misma acción reanuda la reproducción
25th Febrero, 2008 at 11:27 am
Bueno me fije en tu xml y esta perfecto, probe yo subir un xml con los videos que vos pusiste y tambien anda perfecto, debe ser que tu servidor no es del todo compatible con php
te mando de todos modos a tu mail el fla en flash 8
7th Marzo, 2008 at 2:55 pm
Leo espectacular y claro el script. Gracias.
23rd Abril, 2008 at 5:53 pm
Fantastico reproductor de video, para los amigos a los cuales no nos soporta el servidor, seria posible llamar los videos unicamente con XML, y no utilizando el php?
Gracias por tu atencion
23rd Abril, 2008 at 8:41 pm
Excelente reproductor de videos, felicitaciones, para los amigos que no tenemos php en nuestro servidor, seria posible modificar este reproductor para usarlo unicamente con XML?? Gracias por la atencion
6th Mayo, 2008 at 6:15 am
Me parece muy interesante lo único es que intento abrir el *.fla y me dice formato del archivo inesperado me podéis enviar el *.fla a daubets@gmail.com
18th Mayo, 2008 at 5:05 pm
Hola Leo: Tu pagina es muy interesante y este reproductor esta super. He intentado abrir el archivo .fla pero no ha sido posible, agradeceré puedas enviarnos el archivo. De antemano, muchas gracias y exitos en los negocios. Saludos desde Lima - Perú
19th Mayo, 2008 at 6:05 pm
El archivo lo verifique y se puede descaegar correctamente, recuerden que deben abrirlo con flash 9, pasame tu email y te lo envio!
1st Agosto, 2008 at 3:21 pm
tu script esya funcionand de manera exelente en mi web http://www.3gatos.com.ar gracias nuevamente
2nd Agosto, 2008 at 12:53 am
7th Agosto, 2008 at 5:06 pm
Leo :
tenés algún componente flash o como es el código que se inserta en el html para reproducir mp3? no encuentro como hacerlo y me pasaron uno en el que ademas de insertar el código en el html tengo que generar un xml donde va el path del archivo .MP# esto no me sirve porque yo tengo que pasar por parámetro en html el path del archivo mientras las web se carga en tiempod e ejecución....hay algo?
7th Agosto, 2008 at 10:22 pm
Para esos casos puedes utilizar flashvars, actualmente no hay ningun tuto sobre el mismo, ya voy a preparar algo pero visitate este link que puede orientarte un poco mejor http://blog.unijimpe.net/como-utilizar-flashvars/
4th Noviembre, 2008 at 12:53 pm
Gracias amigo, ciertamente tu proyecto de video estaba fenomenal... sin embargo sigue palante amigo hay muchos que admiramos tu trabajo...!
20th Diciembre, 2008 at 3:47 pm
Hola Leo, una consulta. Es posible setear la calidad de reproducción del video con el atributo que tiene youtube (&fmt=) para que sea 6 o 18?
Muchas gracias de antemano!
22nd Diciembre, 2008 at 9:19 pm
Te refieres a las proporciones?
31st Diciembre, 2008 at 5:13 pm
Hola Leo, gracias por liberar código tan útil.
Lo he implementado y funciona a la perfeccion, pero no he podido hacer funcionar esta línea:
my_ns.onMetaData = function(infoObject:Object) {
trace(Math.floor(infoObject.duration));
};
pareciera no reconocer onMetaData, necesito esa funcionalidad para poder implementar la barra seek del video. Gracias desde ya por cualquier pista que puedas tirar en su resolución.
6th Enero, 2009 at 9:44 am
la mejor solucion que he encontrado
facil de modificar
lastima que no se vea el reproductor original de youtube
esta espectacular
9th Febrero, 2009 at 8:32 am
Hola Leo, nuevamente agradezco haberte encontrado y que difundas tu trabajo, me ha servido de mucho y he aprendido también al "copiarte". Podés ver cómo ha quedado lo que hice gracias a tu ayuda: http://www.fullaventura.com/indexVideos.asp
(solo la parte de videos, y a prueba por ahora)
Saludos! Daniel
9th Febrero, 2009 at 5:56 pm
amigo estuve buscando esto de youtube por dias ,y encontre esta maravillosa web,gracias por las cosas que enseññas,pero tengo una pregunta y quisiera saber si me podrias ayudar quisiera que el video no se reprodusca automaticamente,y si es posible que se ponga tambien a pantalla completa al clickearlo ,gracias por todo lo que ayudas a la gente,
10th Febrero, 2009 at 10:21 pm
Gracias Daniel, y es muy grato para mi que te sea útil!
10th Febrero, 2009 at 10:51 pm
Claudio: my_video.pause() para detener el video cuando quieras, en este caso te conviene ponerlo entre la lineas 32 y 33,
Para verlo fullScreen puedes usar algo asi
o mejor mira este tutorial que ya tiene esa funcionalidad y extrae esa funcion y colocalo en este. http://www.leobaraldi.com.ar/2008/04/06/video-h264-o-de-alta-definicion-hd-en-flash-player-9/
3rd Marzo, 2009 at 10:12 am
Hola, soy nuevo en esto pero me gusto este reproductor, quisiera saber como puedo hacer para que reprodusca mis videos. gracias.
21st Marzo, 2009 at 1:10 am
Puedes resolverlo asi Jose:
21st Marzo, 2009 at 3:57 pm
Hola Leo, no he podido hacer funcionar tu reproductor, dime? hay algo que activar en el php.ini, yo uso el xamp y pense que todo venia activo.(Me dice video no encontrado). Help
21st Marzo, 2009 at 5:03 pm
Reviza que tu servidor tenga la libreria CURL, sino prueba subir los files a un host.
23rd Marzo, 2009 at 6:47 pm
Hola Leo, mil gracias era la libreria CURL el problema
te dejo el link http://came.edu.pe/index.php?id=31 esto lo publique gracias a ti, ahora estoy viendo como le puedo poner pause. pero ya esta
thanks
23rd Marzo, 2009 at 9:55 pm
Hola Leo. Primero dejame felicitarte por el genial trabajo que te hiciste. He estado buscando algo asi para poder despejar algunas de mis dudas, pues siempre he tenido en la cabeza el como hacer este tipo de cosas.
Leo, no se si sera demaciada confianza la mia. He notado que en tu AS usas una variable llamada contador, la cual inicia en 0. Ese contador, debo suponer, es contador de los cliks que se le hace a un video. Mi pregunta es, de ser asi, donde se guarda el conteo de cliks por video, en un notepad?, en una tabla dentro de la BD?.
O acaso estoy equivocao con respecto a esa variable y tiene otro uso. Se puede hacer un contador el cual la cantidad de cliks vaya directamente a un notepad y no a una tabla?. Espero no ser demaciado confianzudo, solo son preguntas, pues como te decia estoy aprendiendo Flash y, como tu tienes conocimientos muy avanzados, queria saber si es que se puede hacer eso.
GRacias, por el trabajazo que te hiciste y por la paciensia que tienes para leer las interrogantes.
Saludos.
25th Marzo, 2009 at 1:55 pm
hola leo excelente proyecto... no he podido hacer funcionar el reproductor... el archivo .fla es para la version 9 verdad??? me podrias enviar el .fla a mi correo en version 8... gracias
26th Agosto, 2009 at 3:04 pm
Que tal Leo ante todos felicitarte por los grandes aporte.
Mi consulta mas que todo es que acabo de descargar el archivo, subido a un servidor pero no lo reproduce .. http://www.creatuhost.com/youtube/video.html ..Quisiera que porfavor me dijeras que hice mal oh si hay algun eror en algun codigo si es asi quisiera que respondieras a la brevedad posible.
Gracias de antemano.
26th Agosto, 2009 at 11:34 pm
Reviza que tu servidor tenga la libreria CURL
6th Diciembre, 2009 at 3:06 pm
Leo, estoy tratando de implementar esta funcion pero agregandole botones de play/pausa, control de volumen y seekbar. He intentado de muchas formas y he buscado mucho en google durante dias y no encuentro la forma; ¿podrias ayudarme en esto por favor? Gracias por este aporte, el reproductor queda buenisimo.
16th Enero, 2010 at 11:41 pm
Hola Leo, sabés si con esto mismo podemos reproducir video HD de youtube? estuve probando pero no pude, encontre que en la ruta de los videos HD aparece un parametro: fexp=
y el parametro itag cambia de 5 a 18, es todo lo que pude ver, si sabes algo chiflá!
gracias
31st Enero, 2010 at 7:39 pm
Daniel para poder ver video con mejor calidad, primero dicho video debe estar disponible en youtube, 2 busca la linea nº 57 que tiene esto
y reemplazala por la calidad que quieras teniendo en cuenta este detalle: //calidad del video: 0 -> 320x240 para videos viejos o 400x226 para videos nuevos - 18 -> 480x270 - 22 -> 1280x720
4th Febrero, 2010 at 3:34 am
hola brother primero felicitarte por el script .. lo andube buscando .. bueno trengo una sugerencia para ti . espero no te incomode.. solo que aveces asi como yo hay muchos que no sabemos flash .. bueno solo lo basico .. como editar un poco de action script .. la verdad es que ese scritp estaria bomba si le pones activados los botones de control y que muestre mas de 2 videos ... creo que estaria mucho mejor .. bueno es mi humilde comentario espero que se haga realidad lo que pido .. gracias de antemano .. saludos desde peru
4th Febrero, 2010 at 10:28 pm
Gracias Leo! ya esta andando como yo quería, mil gracias, si podés miralo en tangorallyteam.com
14th Abril, 2010 at 11:17 pm
Leo, ya no se pueden ver los videos, porfa date un tiempo para arreglarlo. Gracias