Ha pasado un año desde que publiqué el primer tutorial de FLV, y desde la fecha siempre recibo mail preguntándome cosas al respecto, es así que decidí hacer una ampliación al tema
Es obvio que para leer este nuevo tutorial, has pasado por el primer tutorial introductorio, así que manos al flash.
Nota: Si por alguna razon hay conceptos de este tutorial que no entiendes, en en serio, debes leer el primer tutorial introductorio
Esta claro que el código que a continuación veremos sólo es aplicable a Macromedia Flash MX 2004 o superior, y NO SE PUEDE USAR en versiones anteriores, :( no insistir.
var conexion:NetConnection = new NetConnection();
conexion.connect(null);
var stream:NetStream = new NetStream(conexion);
mi_video.attachVideo(stream);
stream.play("tu.flv");
//aseguramos 10 seg de reproduccion
stream.setBufferTime(10);
onEnterFrame = function () {
bu_cargado.text = stream.bufferLength;
bu_total.text = Math.round(stream.bytesTotal/1024)/1000+" mb";
};
//botones_-----------------------------------
seg.restrict = "1-9";
// solo aceptamos numeros
btn1.onPress = function() {
stream.play("tu.flv");
};
btn1_1.onPress = function() {
stream.close();
};
btn2.onPress = function() {
stream.pause();
//obvio, para hacer pausa, ojo q es lo mismo para avanzar
};
btn3.onPress = function() {
stream.seek(0);
// va al inicio (cero segundos)
};
btn4.onPress = function() {
stream.seek(seg.text);
// va al segundo q nosotros escribamos
};
//status
stream.onStatus = function(infoObject:Object) {
if (infoObject.code == "NetStream.Play.Stop") {
trace("acabo");
}
if (infoObject.code == "NetStream.Play.StreamNotFound") {
trace("encontro error");
}
};
Los siguientes eventos envían una notificación si ocurren ciertas actividades de NetStream (esto también está en la ayuda de flash).
Propiedad Code |
Propiedad Level |
Significado |
NetStream.Buffer.Empty |
Status |
No se reciben datos con la rapidez suficiente como para que el búfer se llene. El flujo de datos se interrumpe hasta que el búfer vuelve a estar lleno; en ese momento se envía un mensaje NetStream.Buffer.Full y el flujo se reanuda. |
NetStream.Buffer.Full |
Status |
El búfer está lleno y el flujo va a iniciarse. |
NetStream.Play.Start |
Status |
Ha comenzado la reproducción. |
NetStream.Play.Stop |
Status |
Se ha detenido la reproducción. |
NetStream.Play.StreamNotFound |
Error |
No se ha podido encontrar el archivo FLV que se ha pasado al método play(). |
En español esto sería así:
Cuando el video acabo nuestro estado del video será: NetStream.Play.Stop y en este caso estamos haciendo un trace con un mensaje, pero quízas lo optimo sería mandarlo a un frame especifico o reiniciar nuestro video.
Del mismo modo NetStream.Play.StreamNotFound nos indica que existió algun problema con el video y nos devuelve un mensaje de error. }
Poder elegir varios videos
Ahora hagamos algo mejor, usando nuestro tutorial de combobox haremos un visor de varios videos, lo único es agregar estas líneas al final de nuestro codigo y un componente combobox al fla
mi_combo.addItem("video_1", 0);
mi_combo.addItem("video_2", 1);
mi_combo.addItem("video_3", 2);
alSeleccionar = new Object();
alSeleccionar.change = function(evento) {
trace("Has seleccionado "+evento.target.value);
switch (evento.target.value) {
case 0 :
stream.play("tu.flv");
break;
case 1 :
stream.play("yo.flv");
break;
case 2 :
stream.play("el.flv");
break;
}
};
//Listeners para cuando seleccionamos alguna opcion
mi_combo.addEventListener("change", alSeleccionar);
¿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.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate