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

Cómo precargar mp3 externos?

Estas en el tema de Cómo precargar mp3 externos? en el foro de Flash y Actionscript en Foros del Web. Buen día! Tengo mi película de flash con su respectivo cargador, pero necesito que lleve música de fondo, por lo que le cargué en el ...
  #1 (permalink)  
Antiguo 10/08/2009, 13:43
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Cómo precargar mp3 externos?

Buen día!

Tengo mi película de flash con su respectivo cargador, pero necesito que lleve música de fondo, por lo que le cargué en el frame 2 un mp3 externo con el siguiente código:

son = new Sound();
son.loadSound("musica.mp3", true);
son.onSoundComplete = function() {
son.start(0, 1);
};

Mi problema es que al simular la descarga en flash, el cargador y la película salen perfectos, pero la música sale con muchas pausas, supongo que es porque no se carga completa. Mi archivo mp3 pesa 1.8 mb, no sé si este sea un peso demasiado grande.

Ya he buscado en los temas del foro pero no encuentro la respuesta. Lo ideal para mí sería que todo se cargara desde el principio y después comenzara la película, no sé si se pueda con un mismo cargador o de otro modo.

Mil gracias.
  #2 (permalink)  
Antiguo 10/08/2009, 14:00
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Cómo precargar mp3 externos?

Asi:

Cita:
//Crear un nuevo objeto Sound()
Sonido1 = new Sound();
//Cargamos el sonido con sin streaming
Sonido1.loadSound("remix.mp3",false);
this.onEnterFrame = function() {
//Averiguamos los bytes total del mp3
total = Sonido1.getBytesTotal();
//Lo que vamos cargando
cargado = Sonido1.getBytesLoaded();
//Utilizamos la caja de texto para escribir el porcentaje cargado
trace(Math.round((cargado/total)*100)+"%")

//Si cargado igual a total y
//total es mayor de cero
if (cargado == total && total>0) {
//Reproducimos el sonido
Sonido1.start(0, 1);
//borramos la funcion
delete this.onEnterFrame;}
};
ó asi:

Cita:


var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean) {
if (success) {
this.start();
trace("fin")
}
};
my_sound.onSoundComplete = function() {

clearInterval(my_interval);
};
my_sound.loadSound("remix.mp3", false);
var my_interval:Number;
my_interval = setInterval(checkProgress, 100, my_sound);
function checkProgress(the_sound:Sound):Void {
trace(Math.round(the_sound.getBytesLoaded()/the_sound.getBytesTotal()*100));

}
__________________
{ Flash }
  #3 (permalink)  
Antiguo 10/08/2009, 15:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cómo precargar mp3 externos?

Lo voy a probar, y de antemano, muchas gracias por tu ayuda Diegoazul.
  #4 (permalink)  
Antiguo 10/08/2009, 18:43
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cómo precargar mp3 externos?

Para los que les sirva, ya tuve oportunidad de subir mis archivos al servidor, y ahí se reproduce la música de fondo sin ningún problema. No sé porque pase así, pero por lo pronto ya salí de esto, y para cuando no se pueda así, siempre está el código que nos pasó Diegoazul.

Saludos y gracias
  #5 (permalink)  
Antiguo 11/08/2009, 07:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Cómo precargar mp3 externos?

un código corto para hacer un cargador al estilo buffering seria asi:

onClipEvent (load) {
audio = new Sound();
audio.loadSound("audio/audio1.mp3", 1);
audio.attachSound("audioFondo")
}

si quieres añadir la posibilidad de cargar distintos audios, haces botones en los que le añades este código:
onClipEvent (load) {
cancion="audio/audio2.mp3"
}


si le quieres añadir una barra de volumen, haces un clip llamado"ref" (la barra) y otro (el botón para subir y bajar, en el que le añades este código:

onClipEvent (enterFrame) {
if(presionado){
trace("PRESIONADO")
inicial=_parent.ref._x
final=inicial+_parent.ref._width
porc=Math.round(this._x*100/final)
_parent.ref.color._alpha=Math.round(porc)
_xscale=porc+50
_yscale=porc+50/
trace(porc)
_parent._parent.audio.setVolume(porc)
}
}
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 00:47.