Foros del Web » Creando para Internet » Flash y Actionscript »

Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Estas en el tema de Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda! en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un reproductor mp3 flash que se alimenta desde un xml, en local funciona todo bien, empieza automaticamente etc, pero cuando lo subo solo ...
  #1 (permalink)  
Antiguo 11/03/2010, 05:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 228
Antigüedad: 16 años, 1 mes
Puntos: 12
Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Hola, tengo un reproductor mp3 flash que se alimenta desde un xml,

en local funciona todo bien, empieza automaticamente etc, pero cuando lo subo solo aparece el reproductor.. y no reproduce nada,

este es el contenido del XML

Código:
<?xml version="1.0" encoding="ISO-8859-1"?>

<music autoPlay="true" autoNextSong="true">
	<song>
		<title>1</title>
		<mp3File><![CDATA[http://**********.com/mp3/1.mp3]]></mp3File>
	</song>
	<song>
		<title>2</title>
		<mp3File><![CDATA[http://**********.com/mp3/2.mp3]]></mp3File>
	</song>
</music>
Alguien sabe como resolver esto?, gracias,
  #2 (permalink)  
Antiguo 11/03/2010, 08:24
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Sera que el problema es el XML.. de ser asi, no se para que poner el codigo XML en el foro de Flash, lo hubieses cambiado a otro foro... porque no mejor tiras los archivos en MEGAUPLOAD y nos pasas el link.. o nos dices de donde bajaste la aplicacion... asi sera mas facil de ayudarte
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 11/03/2010, 09:07
Avatar de Kottore  
Fecha de Ingreso: octubre-2007
Mensajes: 170
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Si tienes tu xml en un dominio distinto al *.swf esa es la causa. Necesitarías hacer un puente para el proxy con un archivo php.

Si lo tienes en el mismo dominio sería buena idea que pusieras la parte del AS donde cargas el xml

Saludos
  #4 (permalink)  
Antiguo 12/03/2010, 05:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 228
Antigüedad: 16 años, 1 mes
Puntos: 12
Respuesta: Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Código:
//convertTime() uses this to slice up text
function strPad( str, places, pad, side ){
	while ( str.length < places ){
	if ( side == "left" ) str = pad + str;
		else str = str + pad;
	}
	var lengthTester = str.toString();
	if(lengthTester.length <= 1){
		str = "0"+str;
	}
	return str;
}

//converts time to minutes and seconds on mp3
function convertTime(t,type){
	var time = Math.ceil(t);
	var min = Math.floor(time/60);
	var secs = time-(min*60);
	return min + ":" + strPad( time % 60, 2, 0, "left" );
}

//loads mp3 file with sent in mp3 file and title
function loadMP3(mp3File,title){
	my_sound = new Sound();
	
	my_sound.onSoundComplete = function(){
		if(autoNextSong){
			nextSong();
		}
	}
	my_sound.onLoad = function(success:Boolean){
		if (success){
			loadingNew = false;
			if(btnVolume.volumeNum == undefined){
				btnVolume.volumeNum = 10;
			}
			//if in mute mode
			if(btnVolume.icon._currentframe == 1){
				my_sound.setVolume(btnVolume.volumeNum*10);
			}else{
				my_sound.setVolume(0);
			}
			if(btnVolume == undefined){
				my_sound.setVolume(100);
			}
			playStatus = true;
			btnPlay.gotoAndStop("stillPause");
			loadBar.lines.gotoAndPlay("end");
			duration = this.duration/1000;
			//move dragger to current location
			var currentTime = my_sound.position/1000;
			var perc = currentTime/duration;
			seekTo(Math.round(loadBar.bar._x + perc*(loadBar.bar._width)),true);
			//var myDragger = loadBar.dragger;
			//_level0.Tween.tween(myDragger,"_x",Math.round(loadBar.bar._x + perc*(loadBar.bar._width))+"","20","easeInOutQuart");
			
			timer.onEnterFrame = function(){
				if(this._parent.loadingNew == false){
					var currentTime = my_sound.position/1000;
					TFtime.text = convertTime(currentTime)+"/"+convertTime(duration);
					if(dragging != true && seeking == undefined){
						var perc = currentTime/duration;
						var newX = Math.round(loadBar.bar._x + perc*(loadBar.bar._width));
						if(newX + loadBar.dragger._width > loadBar.bar._x+loadBar.bar._width){
							newX = loadBar.bar._x+loadBar.bar._width - loadBar.dragger._width;
						}
						loadBar.dragger._x = newX;
					}else if(dragging){
						//scan through movie using dragger
						var perc = (loadBar.dragger._x-loadBar.barProgress._x)/loadBar.barProgress._width;
						soundPos = duration*perc;
						if(perc < .95){
							my_sound.start(soundPos);
							if(playStatus != true){
								if(pausedOn != true){
									pauseMusic();
								}
							}
						}
					}
				}else{
					TFtime.text = "loading...";
				}
			}
			//automatically play the first song
		if(autoPlay != true){
			stopMusic();
		}
		}else{
			TFtitle.text = "Error loading mp3 file.";
		}
	}
	
	loadBar.lines.gotoAndPlay(2);
	loadingNew = true;
	my_sound.loadSound(mp3File,true);
	if(autoPlay != true){
		stopMusic();
	}
	loadBar.dragger._x = 0;
	TFtitle.text = title;
	clearInterval(loaded_interval);
	loaded_interval = setInterval(checkBytesLoadedSound, 50);
}

//checking the mp3 download and displaying data
function checkBytesLoadedSound() {
	var loaded = my_sound.getBytesLoaded();
	var total = my_sound.getBytesTotal();
	var myRef = loadBar;
	loadBar.barProgress._width = Math.ceil(loaded/total*(loadBar.bar._width));
	var pctLoaded:Number = Math.round(loaded/total*100);
	if (pctLoaded>=100 && total > 20){
		loadBar.barProgress._width = loadBar.bar._width;
		clearInterval(loaded_interval);
	}else{
		TFtime.text = "loading...";
	}
}

//moves dragger to given x position
function seekTo(newX,dontStop){
	if(dontStop){
		dragging = undefined;
	}else{
		dragging = true;
	}
	
	var myRef = loadBar.dragger;
	var myFunc = this+".seekingDone";
	_level0.Tween.tween(myRef,"_x",newX+"","20","easeInOutQuart",myFunc);
}

//when dragger is done seeking, this function is played
function seekingDone(){
	dragging = undefined;
	if(pausedOn){
		if(firstOn == undefined){
			firstOn = true;
			if(autoPlay){
				playMusic();
			}
		}else{
			playMusic();
		}
	}
}

//plays next song in list
function nextSong(){
	soundPos = 0;
	pausedOn = false;
	playStatus = true;
	dragging = false;
	
	
	songNum++;
	if(songNum >= Music.length){
		songNum = 0;
	}
	this["btnNum"+previousSong].gotoAndPlay("out");
	this["btnNum"+songNum].gotoAndStop("active");
	previousSong = songNum;
	loadMP3(Music[songNum].mp3File,Music[songNum].title);	
}

//code for all buttons
function buildNav(){
	//DRAGGER
	var myRef = loadBar.dragger;
	myRef.onPress = function(){
		if( this._parent._parent.loadingNew != true){
			if(playStatus || pausedOn){
				this._parent._parent.dragging = true;
				startDrag(this,false,this._parent.barProgress._x, this._y, this._parent.barProgress._x+this._parent.barProgress._width-this._width, this._y);
				this._parent._parent.pauseMusic();
			}
		}
	}
	myRef.onRelease = myRef.onReleaseOutside = function(){
		if( this._parent._parent.loadingNew != true){
			this._parent._parent.dragging = false;
			this.stopDrag();
			this._parent._parent.playMusic();
		}
	}
	
	//PROGRESS BAR
	var myRef = loadBar.barProgress;
	myRef.onPress = function(){
		if( this._parent._parent.loadingNew != true){
			if(playStatus || pausedOn){
				var myX = Math.round(this._xmouse * this._xscale/100);
				if(myX > loadBar.barProgress._width-loadBar.dragger._width){
					myX = loadBar.barProgress._width - loadBar.dragger._width;
				}
				seekTo(myX);
			}
		}
	}
	
	//PLAY
	var myRef = btnPlay;
	myRef.onPress = function(){
		if(playStatus){
			pauseMusic();
		}else{
			playMusic();
		}
	}
	
	myRef.onRollOver = function(){
		if(playStatus){
			this.gotoAndPlay("overPause");
		}else{
			this.gotoAndPlay("overPlay");
		}
	}
	myRef.onRollOut = myRef.onDragOut = function(){
		if(playStatus){
			this.gotoAndPlay("outPause");
		}else{
			this.gotoAndPlay("outPlay");
		}
	}
	
	//STOP, BACK AND NEXT
	btnStop.onRollOver = btnBack.onRollOver = btnNext.onRollOver = function(){
		this.gotoAndPlay("over");
	}
	btnStop.onDragOut = btnBack.onDragOut = btnNext.onDragOut = btnStop.onRollOut = btnBack.onRollOut = btnNext.onRollOut = function(){
		this.gotoAndPlay("out");
	}
	btnStop.onPress = function(){
		stopMusic();
	}
	btnBack.onPress = function(){
		songNum-=2;
		if(songNum < -1){
			songNum = Music.length-2;
		}
		nextSong();
	}
	btnNext.onPress = function(){
		nextSong();
	}
	
	//VOLUME
	//code inside btnVolume
	
	//NUMBER BUTTONS
	var myCount = Music.length;
	var numberButtonMargin = 5;
	if(myCount > 1){
		for(var i=0;i<myCount;i++){
			if(i>0){
				btnNum0.duplicateMovieClip("btnNum"+i,i+1);
			}
			var myRef2 = this["btnNum"+i];
			myRef2._alpha = 100;
			myRef2._x = Math.round(this["btnNum"+(i-1)]._x + this["btnNum"+(i-1)]._width) + numberButtonMargin;
			var myWidth = myRef2._width;
			myRef2.icon.TFnumber.autoSize = true; 
			myRef2.icon.TFnumber.text = i+1;
			myRef2.icon.TFnumber._x = 0 + myWidth/2 - myRef2.icon.TFnumber._width/2 - 2;
			myRef2.onRollOver = function(){
				if(this._parent.songNum != int(this._name.slice(6))){
					this.gotoAndPlay("over");
				}
			}
			myRef2.onDragOut = myRef2.onRollOut = function(){
				if(this._parent.songNum != int(this._name.slice(6))){
					this.gotoAndPlay("out");
				}
			}
			myRef2.onPress = function(){
				this._parent.songNum = int(this._name.slice(6))-1;
				this._parent.nextSong();
			}
		}
	}else{
		btnNum0._visible = false;
	}
	
	
	songNum = -1;
	nextSong();
}

//plays music from current position
function playMusic(){
	pausedOn = false;
	playStatus = true;
	dragging = false;
	my_sound.start(soundPos);
	btnPlay.gotoAndStop("stillPause");
}

//pauses music and saves position
function pauseMusic(){
	pausedOn = true;
	playStatus = false;
	soundPos = my_sound.position/1000;
	my_sound.stop();
	btnPlay.gotoAndStop("stillPlay");
}

//stops music
function stopMusic(){
	playStatus = false;
	dragging = true;
	loadBar.dragger._x = 0;
	my_sound.stop();	
	btnPlay.gotoAndPlay("stillPlay");
}

//load xml file and organizes the data loaded
function loadXML(){
	x = new XML();
	x.ignoreWhite = true;
	
	x.onLoad = function(success) {
		if(success){
			Music = new Array();
			var myCount = x.firstChild.childNodes.length;
			var rootHandler = x.firstChild.childNodes;
			if(x.firstChild.attributes.autoPlay == "true"){
				autoPlay = true;
			}else{
				autoPlay = false;
			}
			if(x.firstChild.attributes.autoNextSong == "true"){
				autoNextSong = true;
			}else{
				autoNextSong = false;
			}
			var myRef = Music;
			for(var i=0;i<myCount;i++){
				var temp1 = new Object();
				var myRef2 = temp1;
				var myCount2 = rootHandler[i].childNodes.length;
				var secHandler = rootHandler[i].childNodes;
				for(var y=0;y<myCount2;y++){
					myRef2[secHandler[y].nodeName] = ""+secHandler[y].childNodes;
				}
				Music.push(temp1);
			}
			
			buildNav();
			delete x;
		}else{
			TFtitle.text = "ERROR: Could not load XML";
		}
	}
	
	x.load("mp3Player.xml");
}

//sets up key elements for later use
_level0.Tween = new AnimTween();
System.useCodepage=true;
//loads xml which will then initiate the player
loadXML();
stop();
  #5 (permalink)  
Antiguo 13/03/2010, 07:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 228
Antigüedad: 16 años, 1 mes
Puntos: 12
Respuesta: Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

weno que.. me lo aclara alguien o cambio de reproductor?
  #6 (permalink)  
Antiguo 13/03/2010, 07:43
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Flash MP3 Player + xml solo funciona en LOCAL (en servidor no) ... ayuda!

Cita:
Iniciado por elielbeck Ver Mensaje
weno que.. me lo aclara alguien o cambio de reproductor?
Por mi puedes hacer lo que quieras... quien te crees. ja. Pasarnos semejante pedazo de codigo y hacerte el exquisito, seguro que ni lo entiendes

Acaso nos estas pagando algo para ello.. y como si tuvieramos todo el tiempo del mundo para revisar tu codigo... bien claro te pedí.. levantalo a un server tipo MEGAUPLOAD y pasanos el link.. si no lo quieres hacer, no hay problema... pero como sabremos que esta haciendo tu codigo si no sabemos como esta estructurado tu FLA.. al menos pasanos el link de la pagina que bajaste el modelo de reproductor.

Cuando es problema de server... mm.. no se.. si te funciona bien localmente. algo no estas enlazando bien, o se te paso levantar... o hay un link suelto.. no veo nada extraño en tu code que pueda afectar el funcionamiento dentro de un server remoto
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: flash, local, player, xml, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.