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

Detener una descarga de audio... problema de acumulacion de descargas y sobrecarga

Estas en el tema de Detener una descarga de audio... problema de acumulacion de descargas y sobrecarga en el foro de Flash y Actionscript en Foros del Web. uso este codigo para cargar una lista xml con unos mp3... la lista la meto en un paginado y la paso por un menu de ...
  #1 (permalink)  
Antiguo 05/05/2006, 15:49
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Detener una descarga de audio... problema de acumulacion de descargas y sobrecarga

uso este codigo para cargar una lista xml con unos mp3...

la lista la meto en un paginado y la paso por un menu de botones....

la musica se lanza con una condicion... que en el 60% haga un fader-out y se detenga...

ahora bien... si yo pulso otra cancion mientras escucho 1... como son canciones gordas va lento,,, ademas de que se acumulan hasta 3 descargas a la ves......

hay alguna forma de deterner la descarga de audio cuando pulso el boton de otra cancion.,.. ya que lo normal es ir saltado de cancion en cancion... por si no te gusta...

Código:
var menuXml:XML = new XML();
menuXml.ignoreWhite = true;
menuXml.onLoad = function(success) {
	if(success) mostrar_items(1);
}
menuXml.load("xml/chr.xml");

var radio:Sound = new Sound();

//---------------------------------------->
//bien esta funcion muestra los items, se le pasa como parametro el nro de página
var mostrar_items:Function = function(pagina:Number):Void{
	var lista_menu:Array = menuXml.firstChild.childNodes;
	
	//definimos las variables
	var cuantos_x_pagina:Number = 33;
	var total_paginas:Number = Math.ceil(lista_menu.length/cuantos_x_pagina);
	var desde:Number = (pagina-1)*cuantos_x_pagina;
	var hasta:Number = desde+cuantos_x_pagina;

	//eliminamos los items previos (porsiaca)
	for(var i in this) if(i.substr(0,3)=='btn') this[i].removeMovieClip();
	this.controles.removeMovieClip();
	
	//agregamos el menu de control
	var control_ref:MovieClip = this.attachMovie('controles','controles',this.getNextHighestDepth());
	control_ref.texto.text = 'Página de resultados: '+pagina+'/'+total_paginas;
	if(pagina==1) control_ref.anterior.enabled = false;
	if(pagina==total_paginas) control_ref.siguiente.enabled = false;
	control_ref.anterior.onRelease = function(){ mostrar_items(pagina-1); }
	control_ref.siguiente.onRelease = function(){ mostrar_items(pagina+1); }
	
	for(n=desde;n<hasta;n++){
		if(n<lista_menu.length){
			var item_ref:MovieClip = this.attachMovie('item_mc','btn'+n,this.getNextHighestDepth(),{_y:(n-desde)*20+20});
			item_ref.miURL = lista_menu[n].attributes.url; //guardamos la url como variable de cada item_ref
			item_ref.miNAME = lista_menu[n].firstChild.nodeValue; //le ponemos texto
			item_ref.etiqueta_txt.text = lista_menu[n].firstChild.nodeValue; //le ponemos texto
			item_ref.Rectangulo_btn.onRelease = function(){ _root.menu_mc_audio_1.removeMovieClip(); this._parent.reproducir();} //y le damos accion al botón			
		}
	}
}

stop();

Código:
var controlador:MovieClip = this;
var porcentaje_salto:Number = 60;//formato 60%, algo mas de la mitad...

var reproducir:Function = function():Void {
	var radio:Sound = new Sound();
	radio.stop();
	radio.loadSound(miURL, true);
	_root.etiqueta_name_txt.text = miNAME;
	
	controlador.vol = 100;
	controlador.onEnterFrame = function(){
		if(radio.getBytesLoaded() > 4){
			var limite:Number = Math.floor(radio.duration*(porcentaje_salto/100));
			if(radio.position>=limite){
				radio.setVolume(this.vol--);
				if(this.vol<=0){ delete this.onEnterFrame; radio.stop(); }
			}			
		}
	}

};
stop();
__________________
3w.valenciadjs.com
3w.laislatv.com
  #2 (permalink)  
Antiguo 06/05/2006, 20:46
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Pregunta

alguna idea de como parar la descarga de audio antes de terminar....
__________________
3w.valenciadjs.com
3w.laislatv.com
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 21:58.