¿Cómo puedo meter una imagen de un cargador al intentar escuchar un fragmento de canción?
Estoy intentando hacer una página donde se puedan escuchar trozos de canciones apretando sus botones correspondientes.
Cuando se hace clic en uno, se carga su fichero mp3 correspondiente mediante:
Música. LoadSound("cancion.mp3", false);
dentro del handler on(press), habiendo creado "musica" como un objeto Sound() antes:
musica = new Sound();
Luego, apretando en un botón play, se reproduce la canción descargada con:
musica.start(0,0);
Bien, pues hasta aquí todo va bien. Pero he intentado meterle un cargador para que la gente sepa cómo va la carga y cuándo se ha cargado totalmente, pero no me funciona.
La barra de carga es una instancia llamada "insBarraCarga", y el manejador de eventos de los botones de carga para cada canción lo he hecho así:
on (press) {
musica = new Sound();
// pongo la barra de carga a 0. Esto va bien.
var porcentaje = 0;
insBarraCarga._xscale = porcentaje;
musica.loadSound("cancion.mp3",false);
while (musica.getBytesLoaded() < musica.getBytesTotal()) {
porcentaje = (100 * musica.getBytesLoaded()) / musica.getBytesTotal();
insBarraCarga._xscale = porcentaje;
}
}
He hecho pruebas con "trace" y texto dinámico para controlar los valores de bytes totales y cargados, y cuando hago la prueba localmente, los valores funcionan, es decir, el núimero de bytes totales me da bien.
Pero cuando lo pruebo desde mi host, el valor de bytes totales no me aparece en mi texto dinámico, y el de bytes cargados me da 0, aunque ya se haya cargado la canción que sea.
Bueno, para aclarar más las cosas, decirte que se me ha olvidado mencionar que la barra de carga se queda reducida a 0 en su escala horizontal, y que al parecer no entra en el bucle "while", porque si no, la barra cambiaría de escala.
Lo del trace y texto dinámico son otras líneas de código que no he incluido para no marear más.
¿Podrías echarme una mano y explicarme a qué se debe esto?
Cuando se hace clic en uno, se carga su fichero mp3 correspondiente mediante:
Música. LoadSound("cancion.mp3", false);
dentro del handler on(press), habiendo creado "musica" como un objeto Sound() antes:
musica = new Sound();
Luego, apretando en un botón play, se reproduce la canción descargada con:
musica.start(0,0);
Bien, pues hasta aquí todo va bien. Pero he intentado meterle un cargador para que la gente sepa cómo va la carga y cuándo se ha cargado totalmente, pero no me funciona.
La barra de carga es una instancia llamada "insBarraCarga", y el manejador de eventos de los botones de carga para cada canción lo he hecho así:
on (press) {
musica = new Sound();
// pongo la barra de carga a 0. Esto va bien.
var porcentaje = 0;
insBarraCarga._xscale = porcentaje;
musica.loadSound("cancion.mp3",false);
while (musica.getBytesLoaded() < musica.getBytesTotal()) {
porcentaje = (100 * musica.getBytesLoaded()) / musica.getBytesTotal();
insBarraCarga._xscale = porcentaje;
}
}
He hecho pruebas con "trace" y texto dinámico para controlar los valores de bytes totales y cargados, y cuando hago la prueba localmente, los valores funcionan, es decir, el núimero de bytes totales me da bien.
Pero cuando lo pruebo desde mi host, el valor de bytes totales no me aparece en mi texto dinámico, y el de bytes cargados me da 0, aunque ya se haya cargado la canción que sea.
Bueno, para aclarar más las cosas, decirte que se me ha olvidado mencionar que la barra de carga se queda reducida a 0 en su escala horizontal, y que al parecer no entra en el bucle "while", porque si no, la barra cambiaría de escala.
Lo del trace y texto dinámico son otras líneas de código que no he incluido para no marear más.
¿Podrías echarme una mano y explicarme a qué se debe esto?
1 Respuesta
Respuesta de gandalias
1