Comunidad de diseño web y desarrollo en internet online

cargar un video flv desde un archivo xml

Citar            
MensajeEscrito el 29 Jul 2008 08:17 pm
Hola tengo una duda que no soy capaz de resolver, a ver si alguien me puede ayudar un poco.Tengo unos archivos xml en los cuales me tengo que basar ya que no puedo modificarlos porque tendria que hacerlo en mas de 500 archivos.Estos archivos contienen la estructura de unas plantillas,esta seria la plantilla xml
http://212.34.154.93/~welcome/plantilla/plantilla.xml

Un compañero ha hecho un codigo as2 que cargaria esta plantilla:

Código :


//Declara la variable "obj_xml" como un objeto XML
var obj_xml:XML = new XML();
/*Esta linea es EXTREMADAMENTE necesaria
  Es la que nos permite colocar espacios entre etiquetas
  Sin ella, tendriamos que mantener completamentepegado nuestro XML
  Y se parsearia mal dentro de Flash
*/
obj_xml.ignoreWhite = true;
//Función que se ejecuta en el momento en el que Flash cargue el XML
obj_xml.onLoad = function(exito) {
   //La variable exito sera "true" si se cargo bien y "false" si hubo
   //algun error
   if (exito) 
   {
      var propiedades:Array = obj_xml.firstChild.childNodes[7];
      
      for(i=0;i<propiedades.childNodes.length;i++)
      {
         var propiedad:XMLNode = propiedades.childNodes[i];
         
         var nombre:XMLNode = propiedad.childNodes[0].firstChild.nodeValue;
         trace("Nombre: "+nombre);
         
         var valor:XMLNode = propiedad.childNodes[1];
         
         if (valor.toString() == "<Value />")
            valor_str = "";
         else
         {
            var valor_str:String = valor.toString();
            valor_str = valor_str.substring(7, valor_str.length-8);
         }
         trace("Valor: "+valor_str);
         
         switch(nombre)
         {
            case "_01vp":
               _01vp.text = valor_str;
               break;
            case "_en_01sw":
               _en_01sw.htmlText = valor_str;
               break;
            case "_sp_01sw":
               _sp_01sw.htmlText = valor_str;
               break;
            
         }
      }
   } else {
      //Muestra un mensaje de error en caso de que algo fallara
      _01vp.text = "Error";
   }
};
//Esta es la función que llama el botón
function cargarXML() {
   //Invoca a la función "load" del objeto XML, pasandole por parametro
   //La ruta de nuestro archivo XML
   obj_xml.load("plantilla.xml");
}


El problema viene que en esa plantilla tenemos un componente flvplayback que esta en el escenario, se hacer el codigo para que cargue un flv normal con su ruta, pero no se como hacer para que el video me lo coja del xml de la etiqueta:
<ScreenProperty>
<Name>_01vp</Name>
<Value>01_01_00_01_01vp.flv</Value>
</ScreenProperty>

A ver si alguien me puede ayudar.

Muchas gracias
[/code]

Por natas123

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 03:35 pm
Para darle el source a un FLVPlayback (o MediaDisplay)

tuReproductor.contentPath = source

en AS3 es source

tuReproductor.source = source

Aunque sospecho que lo que no sabes es parsear el XML, en ese caso postea la estructura completa que vas a usar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 31 Jul 2008 08:20 am
Hola Jorge

Me supongo que quieres ver el codigo que uso para cargar el flv, pues ahi va:

Código :

import mx.video.*;
var listenerObject:Object = new Object();
listenerObject.complete = function(eventObject:Object):Void {
  trace("Elapsed play time at completion is: " + video.playheadTime);
};
video.addEventListener("complete", listenerObject);
video.contentPath = "video/01.flv";


Muchas gracias

Por natas123

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 31 Jul 2008 09:52 am
Para darle el source a un FLVPlayback (o MediaDisplay)
tuReproductor.contentPath = source


Preguntaba sobre el XML. Si fuera este

Código :

<base>
 <ScreenProperty>
  <Name>_01vp</Name>
  <Value>01_01_00_01_01vp.flv</Value>
 </ScreenProperty>
 .... muchos ScreenProperty
</base>


Al cargarlo en un XML, el nodo name lo accedes:

Código :

myXML = new XML()
myXML.ignoreWhite = true
myXML.onLoad = function(){
 var root = myXML.firstChild
  for(var i=0; i<root.childNodes.length; i++){
    trace(root.childNodes[i].firstChild.firstChild)
    trace(root.childNodes[i].lastChild.firstChild)
  }
}
myXML.load("tu.xml")


Ahí estoy solo trazando los valores

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 Ago 2008 02:44 am
Una forma facil y bonita de hacerlo es guardar en una variable en el root el nombre del video sacado del xml.
entonces en el video.contentPath = "video/01.flv"; lo reemplezas por video.contentPath = _root.variableenelrot;

Por ariste666

18 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 06 Ago 2008 10:08 am
O sea que lo que sugieres es que use una variable .... si no usa variables no puede usar un XML, y la pregunta es como capturar un nodo de un XML

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.