Comunidad de diseño web y desarrollo en internet online

Problema con botones para reproducir videos XML as3.0

Citar            
MensajeEscrito el 15 Jul 2012 10:12 pm
Quetal compañeros tengo el siguiente problema

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

Por Gabriel P

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Jul 2012 02:12 pm
Tienes un array de imagenes, haz un array de videos en el mismo orden y posición, en el CLICK haces un lookup y rescatas el video, es decir miras en que posición está la imagen y tomas el video de esa posición

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.