el siguiente codigo realiza la carga de una serie de videos flv atraves del xml la cargar funciona correctamente, tengo una botonera de reproduccion con flechas y stops(en fin lo comun)
que reproducen los videos perfectamente pero quice añadirle ademas unos botones la cualkes son las imagenes correspondientes a cada video asi como lo vemos en youtube alli es donde tengo problemas, atravez de otros ejemplos coloque los botones en un array y me funciona por que colo que el sigte codigo y funciona cada vez que se daclick en alguno de los botones funciona el alpha pero no se como hacer para que me reproduzca el respectivo video
myImagContArray[i].addEventListener(MouseEvent.CLICK, playVideo);
function playVideo(event:MouseEvent):void
{
event.target.alpha = .5;
}
donde esta con rojo es donde siento que esta el me hoyo del asunto
QUE ALGUIEN SE APIADE DE ESTE NOVATO
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.events.MouseEvent;
import fl.transitions.*;
import fl.events.SliderEvent;
import fl.controls.*;
import flash.media.SoundTransform;
import flash.display.Sprite;
import flash.display.Loader;
//import flash.display.Shape;
// variables del sonido
var soundTrans:SoundTransform = new SoundTransform();
// agregar los sliders de para la barra de desplazamiento y volumen
var track_bar:Slider = new Slider();
track_bar.width = 320;
track_bar.snapInterval = .1;
track_bar.tickInterval = .1;
track_bar.maximum = 100;
track_bar.value = 0;
track_bar.x = 20;
track_bar.y = 300;
addChild(track_bar);
var vol_Bar:Slider = new Slider();
vol_Bar.width = 100;
vol_Bar.snapInterval = 1;
vol_Bar.tickInterval = 1;
vol_Bar.maximum = 10;
vol_Bar.minimum = 0;
vol_Bar.x = 275;
vol_Bar.y = 334;
vol_Bar.value = soundTrans.volume;
addChild(vol_Bar);
var extXML:XML;
var xmlLoader:URLLoader = new URLLoader();
var xmlReq:URLRequest = new URLRequest("video_list02.xml");
xmlLoader.load(xmlReq);
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
function onComplete(event:Event):void
{
extXML = new XML(event.target.data);
trace("xml cargado correctamente")
var myImagContArray:Array = new Array();
// Bucle for para cargar las imagenes de los videos
for (var i:int = 0; i < extXML.children().length(); i++)
{
var imagLoader:Loader = new Loader();
var imagReq:URLRequest = new URLRequest(extXML.child(i).@imag);
imagLoader.load(imagReq);
// contenedor q esta en la biblioteka
myImagContArray[i] = new contenedor();
addChild(myImagContArray[i]);
myImagContArray[i].addChild(imagLoader);
myImagContArray[i].width = 40;
myImagContArray[i].scaleY = myImagContArray[i].scaleX;
myImagContArray[i].x = (myImagContArray[i].width + 40) *(i%2) + 370;
myImagContArray[i].y = (myImagContArray[i].height + 50) * int(i/2) + 10;
myImagContArray[i].addEventListener(MouseEvent.CLICK, playVideo);
function playVideo(event:MouseEvent):void
{
event.target.alpha = .5;
}
}
}
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var custom:Object = new Object();
ns.client = custom;
custom.onMetaData = onMetaData;
ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatusHandler);
function onNetStatusHandler(event:NetStatusEvent):void
{
switch(event.info.code)
{
case "NetStream.Play.Start":
trace("inicia " + ns.time.toFixed(3) + "segundos");
break;
case "NetStream.Play.Stop":
trace("Detiene " + ns.time.toFixed(3) + "segundos");
break;
}
}
var myVideo:Video = new Video();
myVideo.smoothing = true;
myVideo.x = 20;
myVideo.y = 20;
myVideo.attachNetStream(ns);
addChild(myVideo);
var currentVideo:int = 0;
var video_isPlaying:Boolean = false;
////// CONTROL DE LA BARRA DE REPRODUCCION//////
var duract:Number = 0;
function onMetaData(obj:Object):void
{
duract = obj.duration;
dura_txt.text = String (obj.duration);
}
///////BOTONES PARA CONTROLAR LA REPRODUC/////////
prev_btn.addEventListener(MouseEvent.CLICK, prevVideo);
pause_btn.addEventListener(MouseEvent.CLICK, pauseVideo);
play_btn.addEventListener(MouseEvent.CLICK, playVideo);
stop_btn.addEventListener(MouseEvent.CLICK, stopVideo);
next_btn.addEventListener(MouseEvent.CLICK, nextVideo);
function prevVideo(event:MouseEvent):void
{
currentVideo -= 1;
if(currentVideo < 0)
{
currentVideo = extXML.videoP.length() - 1;
}
vidName_txt.text = extXML.videoP[currentVideo].@name;
ns.play(String(extXML.videoP[currentVideo].@path));
addEventListener(Event.ENTER_FRAME, upDateBar);
}
function pauseVideo(event:MouseEvent):void
{
ns.pause();
video_isPlaying = false;
}
function playVideo(event:MouseEvent):void
{
if (video_isPlaying == false)
{
video_isPlaying == true;
vidName_txt.text = extXML.videoP[currentVideo].@name;
ns.play(String(extXML.videoP[currentVideo].@path));
addEventListener(Event.ENTER_FRAME, upDateBar);
}else{
ns.resume();
}
}
function stopVideo(event:MouseEvent):void
{
video_isPlaying == false
ns.pause();
ns.seek(0);
addEventListener(Event.ENTER_FRAME, upDateBar);
}
function nextVideo(event:MouseEvent):void
{
currentVideo += 1;
if(currentVideo == extXML.videoP.length())
{
currentVideo = 0;
}
vidName_txt.text = extXML.videoP[currentVideo].@name;
ns.play(String(extXML.videoP[currentVideo].@path));
addEventListener(Event.ENTER_FRAME, upDateBar);
}
// funcion upDateBar para actualizar la barra de reproduccion de video
function upDateBar(event:Event):void
{
track_bar.value = (ns.time / duract)* track_bar.maximum;
}
// codigo para la manipulacion del sonido y el volumen
var vol:int = soundTrans.volume;
sound_btn.addEventListener(MouseEvent.CLICK, sndOnOff);
function sndOnOff(event:MouseEvent):void
{
if(vol == 2)
{
vol = 0;
}else{
vol = 2;
}
soundTrans.volume = vol;
ns.soundTransform = soundTrans;
}
vol_Bar.addEventListener(SliderEvent.CHANGE, volChange);
function volChange(event:SliderEvent):void
{
soundTrans.volume = event.target.value;
ns.soundTransform = soundTrans;
}
GRACIAS