Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2008, 14:22
truxkarpin
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 15 años, 8 meses
Puntos: 0
ASP de Reproductor MP3

Hola. Me estoy elaborando un reproductor MP3 personalizado, siguiendo un manual de tutoriales-flash. El caso es que ya lo tengo, supuestamente funciona. El problema que tengo es que no lee el archivo XML (que en este caso se crearia dinamicamente leyendo la carpeta que tiene los MP3). El codigo del ASP es el siguiente:

Código:
<%
' intentamos evitar la caché del navegador --------------
Response.Expires=0
Response.CacheControl="private"
' ----------------------------------------------------------------
Response.ContentType="text/XML"
'Creamos el objeto FileSystemObject
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' elegimos la carpeta files desde la raiz del servidor web
' sustituir "/files/" por la que os interese
Set folder = fso.GetFolder(Server.MapPath(("/mp3/")))
Set files = folder.Files '
' construimos el XML ----------------------------------------
Response.Write("<?xml version='1.0' ?><exploracion carpeta='"+folder.Name+"'>")
For Each file in files
fil=file.Name
Response.write("<archivo nombre='")
Response.write(file.Name)
Response.write("' size='")
Response.write(file.size\1024)
Response.Write("' />")
Next
Response.Write("</exploracion>")
' ----------------------------------------------------------------
Set files = nothing
Set folder = nothing
Set fso = nothing
%>


El codigo que hay que insertar en el fotograma del flash es el siguiente:

Código:
// código en línea de tiempo principal
// ajustes iniciales
System.useCodepage = true;
// evitamos problemas con los nodos en blanco
XML.prototype.ignoreWhite = true;
// defino un estilo global para los componentes
_global.style.setStyle("fontSize", 10);
// en este array almacenaré las canciones
var array_temp:Array = new Array();
// objeto XML que carga la lista de archivos
var lista_xml:XML = new XML();
lista_xml.onLoad = cargarLista;
// vuelco el contenido del XML
// en el componente lista
function cargarLista():Void {
array_temp = this.firstChild.childNodes;
if (!isNaN(array_temp.length)) {
// numero de temas
titulo_lb.text = array_temp.length+" temas";
// relleno la lista
for (var k:Number = 0; array_temp[k]; k++) {
temas_list.addItem(array_temp[k].attributes.nombre);
}
// carga la primera canción
cargarMP3(0);
}
}
// con esta función cargo el mp3 dentro del
// componente mediaplayback
function cargarMP3(indice:Number):Void {
controlador.setMedia("/mp3/"+array_temp[indice].attributes.nombre, "MP3");
controlador.play(0);
}
// rutinas para pasar a la siguiente canción
// cuando termine la actual
var listenerObject:Object = new Object();
listenerObject.complete = function(eventObj:Object) {
_root.tema_actual++;
if (_root.tema_actual>=array_temp.length) {
_root.tema_actual = 0;
}
cargarMP3(_root.tema_actual);
};
controlador.addEventListener("complete", listenerObject);
// cargo la lista de reproducción
lista_xml.load("/asp/verLista.asp");
// esta línea sería del tipo
// lista_xml.load("miLista.xml");
// si empleo un archivo de texto
// plano con formato XML


A su vez del codigo en el componente "lista":

Código:
on (change) {
_root.cargarMP3(this.selectedIndex);
}


He probado cambiando el codigo del ASP y colocando tanto los MP3, como el ASP en distintas carpetas y nada, el reproductor sigue sin "leerlo". Alguien a la vista de los codigos sabria decirme como seria la "estructuracion" de carpetas para que funcionara como debiera??

Un saludo. Gracias