Comunidad de diseño web y desarrollo en internet online

Cargar video desde XML

Citar            
MensajeEscrito el 06 Oct 2014 05:07 am
Hola amigos
Tengo un ejemplo de un rtmp player que baje desde aqui

red5.googlecode.com/svn/flash/trunk/samples/SimpleStreamPlayer.fla

el cual intente modificar para que cargue los videos desde un xml

este es mi xml

Código XML :

<?xml version="1.0" encodig="utf-8"?>
<Video>
<video1 name="Rancagua1" display="livestream-rancagua1" location="rtmp://10.50.40.75/oflaDemo" />
<video2 name="Rancagua2" display="livestream-rancagua2" location="rtmp://10.50.40.75/oflaDemo" />
<video3 name="Rancagua3" display="livestream-rancagua3" location="rtmp://10.50.40.75/oflaDemo" />
<video4 name="Los Angeles 1" display="livestream-losangeles1" location="rtmp://10.50.40.75/oflaDemo" />
<video5 name="Los Angeles 2" display="livestream-losangeles2" location="rtmp://10.50.40.75/oflaDemo" />
<video6 name="Los Angeles 3" display="livestream-losangeles3" location="rtmp://10.50.40.75/oflaDemo" />
</Video>



y este es mi action script

Código ActionScript :

var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("ofla2.xml");
myXML.onLoad = function(success) {
if (success) {

var ScreenName = myXML.firstChild.childNodes[0].attributes.name;
var ScreenDisplay = myXML.firstChild.childNodes[0].attributes.display;
var ScreenLocation = myXML.firstChild.childNodes[0].attributes.location;

name_txt.text = ScreenName;
display_txt.text = ScreenDisplay;
location_txt.text = ScreenLocation;



}

}


var nc:NetConnection = new NetConnection();
nc.connect("ScreenLocation");
var ns:NetStream = new NetStream(nc);
videoContainer.attachVideo(ns);
ns.play("ScreenDisplay");



La verdad me cuesta mucho esto de la programacion y no entiendo que estoy haciendo mal ya que los nombres de las direcciones si me las carga pero el contenido de los videos no.

No se si tengo mal el codigo o mal ordenado.

Si pudieran ayudarme estaria muy agradecido

SALUDOS DEDSE CHILE!!!!

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2014 11:56 am
Tienes dos errores. El mas simple: usas String en vez de variables, no uses comillas si quieres apuntar a variables en estos dos comandos:

nc.connect(ScreenLocation);
ns.play(ScreenDisplay);

El segundo error, el connect y el play se estan ejecutando antes de que termines de cargar el XML, mueve el código adentro del onLoad o a una funcion que llames cuando el onLoad se halla completado

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2014 12:11 pm
Hola
Ya cambie lo que me dices y puse
nc.connect(ScreenLocation);
ns.play(ScreenDisplay);
dentro del onLoad
pero dodabia sigue sin funcionar,
Como seria llamando una funcion ?

Saludos

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2014 12:32 pm
Muestrame como lo tienes. Además, antes comprueba que los valores que vienen del XML funcionan bien (es decir ponlos sin el XML), si eso funciona, entonces si prueba con el XML y mira que las cajas de teto muestren los valores correctos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2014 01:45 pm
Hola

Llegando a mi casa te envio como lo tengo.
Mientras te cuento que las cajas de texto muestran bien su contenido. lo que no carga es
nc.connect(ScreenLocation);
ns.play(ScreenDisplay);

que deverian cargar de forma dinamica el nombre del video y la direccion desde donde esta almacenado este.

Probe poniendo las direcciones fisicas de estos y si funciona.

:(
No se en que estoy fallando.

Desde aqui puedes descargar el FLA que modifique para que tengas una idea.

red5.googlecode.com/svn/flash/trunk/samples/SimpleStreamPlayer.fla

saludos

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2014 01:53 pm
Agrega un trace para asegurarse que matcheen justo debajo de cada una de las sentencias

trace(nc+" conecta a "+ScreenLocation);
trace(ns+" hace play de "+ScreenDisplay)

Mira que el trace tenga sentido

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2014 07:23 pm

solisarg escribió:

Agrega un trace para asegurarse que matcheen justo debajo de cada una de las sentencias

trace(nc+" conecta a "+ScreenLocation);
trace(ns+" hace play de "+ScreenDisplay)

Mira que el trace tenga sentido

Jorge


Estimado al poner eso flash me arroja esto en el Ouput

[object Object] conecta a undefined
[object Object] hace play de undefined

y tengo este codigo en el Action Script

Código ActionScript :

var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("ofla2.xml");
myXML.onLoad = function(success) {
    if (success) {    
    
    var ScreenName  = myXML.firstChild.childNodes[0].attributes.name;
    var ScreenDisplay = myXML.firstChild.childNodes[0].attributes.display;
    var ScreenLocation = myXML.firstChild.childNodes[0].attributes.location;
   
   
    name_txt.text = ScreenName;
    display_txt.text = ScreenDisplay;
    location_txt.text = ScreenLocation;



   nc.connect(ScreenLocation);
   ns.play(ScreenDisplay);

    
    }

}

   var nc:NetConnection = new NetConnection();
   //nc.connect("rtmp://10.50.40.75/oflaDemo");
   var ns:NetStream = new NetStream(nc);
   videoContainer.attachVideo(ns);
   //ns.play("display_txt.text");

trace(nc+" conecta a "+ScreenLocation);
trace(ns+" hace play de "+ScreenDisplay)



stop();



Saludos y muchas gracias

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2014 08:37 pm
Ok, undefined quiere decir que las variables no tienen valor, con lo cual ambas cajas de texto te tienen que estar mostrando undefined, con lo cual debes estas parseando mal el XML, pero hace tanto que uso AS3 y ex4 que ya no me acuerdo de la sintaxis china de parseo de nodos ... revísala, cuando esas variables no sean undefined y tomen el valor del XML, tendrás todo andando

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2014 08:50 pm

solisarg escribió:

Ok, undefined quiere decir que las variables no tienen valor, con lo cual ambas cajas de texto te tienen que estar mostrando undefined, con lo cual debes estas parseando mal el XML, pero hace tanto que uso AS3 y ex4 que ya no me acuerdo de la sintaxis china de parseo de nodos ... revísala, cuando esas variables no sean undefined y tomen el valor del XML, tendrás todo andando

Jorge


el parseo creo que esta bien ya que los datos se muestan el los textos dinamicos.

Mira mi amigo, en la aplicacion tengo unas cajas de texto dinamica que extraen el nombre y las direcciones del video desde el xml, pero las cajas de texto funcionan bien lo que no logro es bincular esa informacion donde la toma el codigoq ue seran estas linas


nc.connect(ScreenLocation);
ns.play(ScreenDisplay);

:(

en el ejemplo del lado derecho pongo las direcciones de forma manual y carga bien.

He probado todo.

aqui adjunto un pantallazo

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Oct 2014 11:24 pm
Si dices que los campos de texto estan bien y tienes todo en el onLoad (como lo pusiste en el POST anterior), usa directamente esos campos de texto ... aunque suene ridículo, aca hay algo raro

Código ActionScript :

nc.connect(name_txt.text);
ns.play(location_txt.text); 


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Oct 2014 11:41 pm

solisarg escribió:

Si dices que los campos de texto estan bien y tienes todo en el onLoad (como lo pusiste en el POST anterior), usa directamente esos campos de texto ... aunque suene ridículo, aca hay algo raro

Código ActionScript :

nc.connect(name_txt.text);
ns.play(location_txt.text); 


Jorge



Estimado Jorge

EL codigo me ha quedado asi

Código ActionScript :

var myXML:XML = new XML();
myXML.ignoreWhite = true;
myXML.load("ofla2.xml");
myXML.onLoad = function(success) {
    if (success) {    
    
    var ScreenName  = myXML.firstChild.childNodes[0].attributes.name;
    var ScreenDisplay = myXML.firstChild.childNodes[0].attributes.display;
    var ScreenLocation = myXML.firstChild.childNodes[0].attributes.location;
   
   
    name_txt.text = ScreenName;
    display_txt.text = ScreenDisplay;
    location_txt.text = ScreenLocation;


    
    }

}
   var nc:NetConnection = new NetConnection();
   var ns:NetStream = new NetStream(nc);
   videoContainer.attachVideo(ns);
   nc.connect(location_txt.text);
   ns.play(display_txt.text);

trace(display_txt.text);
trace(location_txt.text);

stop();



Como ves para comprobar agrege al final
trace(display_txt.text);
trace(location_txt.text);

pero el output no me arroja nada.
ni tampoco me funciona lo que quiero.

No se que pasa, ya que intente acceder al contenido de los campos de textos y no me muestra nada, me imagino que es por que estan dentro de una funcion o algo asi (La verdad me cuesta mucho esto del codigo) sigo averiguando intentoando y probando. ojala me puedan ayudar
Muchos cariños

Por isasaurio

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Oct 2014 11:23 am
Tiene que ser asi

Código ActionScript :

myXML.onLoad = function(success) {
    if (success) {    
    
    var ScreenName  = myXML.firstChild.childNodes[0].attributes.name;
    var ScreenDisplay = myXML.firstChild.childNodes[0].attributes.display;
    var ScreenLocation = myXML.firstChild.childNodes[0].attributes.location;
   
   
    name_txt.text = ScreenName;
    display_txt.text = ScreenDisplay;
    location_txt.text = ScreenLocation;

   var nc:NetConnection = new NetConnection();
   var ns:NetStream = new NetStream(nc);
   videoContainer.attachVideo(ns);
   nc.connect(ScreenLocation);
   ns.play(ScreenDisplay);
    
  }

}


En el código anterior que habías puesto lo tenías en en onLoad, por eso pense que estaba correcto

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.