Comunidad de diseño web y desarrollo en internet online

Raro problema streaming de audio

Citar            
MensajeEscrito el 30 May 2008 02:23 pm
Hola a todos, tengo un problema un tanto extraño con audio mp3 en streaming.

Tengo un swf de un juego en un html como pupup.
En este swf cargo archivos de audio por streaming, uno por vez cada vez q lo necesito.
Lo que hago es que cuando se cargue el audio a un 20 porciento me dispare una animacion.
Hasta aca todo bien de modo offline, el problema se plantea online.
Ya que al querer tomar la propiedad getBytesTotal me devuelve "undefined" (siempre hablando en modo online, offline me develve bien este valor)

Este es el codigo:

Código :

_speech = new Sound(_mc_scene);
_speech.onSoundComplete = Delegate.create(this, endSpeech);
_speech.loadSound("assets/sounds/" + url + ".mp3", true);
_int_load_sound = setInterval(this, "checkSoundLoad", 40);

private function checkSoundLoad() {
      var numBytesLoaded:Number = _speech.getBytesLoaded();
      var numBytesTotal:Number = _speech.getBytesTotal();
      var numPercentLoaded:Number = Math.floor((numBytesLoaded * 100) / numBytesTotal );
      if (numPercentLoaded >= 20) {
         clearInterval(_int_load_sound);
         startSpeech();//activa la animación
      }
   }


nota: online la propiedad me devuelve un valor para el primer audio pero "undefined" para los demás, y por lo tanto
Pensé que era un problema con alguna variable, pero me resulta extraño porque offline, desde el navegador, funciona bien(me devulve siempre un valor para getBytesTotal).

Alguien tiene una sugerencia?
desde ya muchas gracias.

Por Waltax

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2008 04:41 pm
¿Está cargando la siguiente canción? ¿Suena?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 May 2008 06:38 pm
Si lo más extraño es que todos los audios suenan por lo tanto se cargan! :shock:

También probé intercambiando los audios pero no viene por ahi el problema.

Espero poder encontrar la solución :crap:

Por Waltax

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2008 06:48 pm
¿Que hace endSpeech?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 May 2008 07:04 pm
La función endSpeech() dispara un evento para que la clase encargada de disparar la animación actúe:

Código :

public function endSpeech() {
   dispatchEvent({type:\"soundComplete\"});
}

Por Waltax

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2008 07:13 pm
Pero lo que posteaste del sonido se repite varias veces .... ¿es un método de una clase? ¿es una función? ¿se repite porque vuelves al frame?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 May 2008 07:30 pm
Perdón, me he explicado mal...vamos otra vez....

El método endSpeech() no afecta, solo detecta el final de la reproducción de cada audio y ejecuta una animación que no viene al caso.

El método startSpeech() es el que comienza a mover la boca de un personaje, y no tiene relación con el objeto Sound "_speech" ,en ningún momento repito o se repite automáticamente el audio.

Basicamente quiero coordinar la animación de que el personaje comience a mover la boca cuando la reproducción de un audio en particular se cargue(se escuche en verdad)

Estos audios son a los que no puedo obtenerle el _speech.getBytesTotal en modo online

me explico?

Por Waltax

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2008 07:39 pm
Para coordinar eventos lo básico es el encapsulamiento, es decir que las porciones de código puedan ser llamadas repetitiva y programáticamente, sino es muy probable que se sobreescriban cosas.
En otras palabras, no tienes que crear un nuevo sonido (new Sound) cada vez que cargas un audio, sino simplemente hacer el loadSound de nuevo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Jun 2008 10:12 pm
Gracias por tu consejo solisarg! Es cierto que no necesito crear el sound y el listener todo el tiempo. Estos ahora los inicializo al principio solamente. Ah!, la solución en si fue tan extraña como el problema, porque online me da undefined en getBytesTotal pero igual funciona con estos cambios...es extraño.

Waltax

Por Waltax

11 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.