Comunidad de diseño web y desarrollo en internet online

Problema al intentar reproducir sonidos de manera sucesiva

Citar            
MensajeEscrito el 02 Jul 2009 10:31 am
Muy buenas!

Estoy haciendo una actividad en la que se tiene que elegir una respuesta de entre 4 a una pregunta. El problema me surge en el momento de leer la pregunta y las respuestas. La pregunta la lee bien y espera a que termine antes de empezar con las respuestas, pero las respuestas las lee todas a la vez.

He intentado pensar otras soluciones, pero no se me ocurre. A ver si podéis echarme una mano.

Éstas son las funciones que tengo hechas.

Código ActionScript :

      public function ReproducirPregunta():SoundChannel {
         var nombreClase:String="pregunta_"+String(questionNum);
         var tempoClase:Class=flash.utils.getDefinitionByName(nombreClase) as Class;
         var sonido:Object=new tempoClase  ;
         var channel:SoundChannel=sonido.play();
         return channel;
      }


El programa descoloca las respuestas, por lo que primero lee la opción, es decir, opción a, b, c y d, y luego la respuesta.

Código ActionScript :

      public function ReproducirRespuesta(opcion:int, num_respuesta:int):SoundChannel {
         var nombreClaseOpcion:String="opcion_"+String(opcion);
         var nombreClaseRespuesta:String="respuesta_"+String(questionNum)+"x"+String(num_respuesta);
         var tempoClaseOpcion:Class=flash.utils.getDefinitionByName(nombreClaseOpcion) as Class;
         var tempoClaseRespuesta:Class=flash.utils.getDefinitionByName(nombreClaseRespuesta) as Class;
         var sonidoOpcion:Object=new tempoClaseOpcion;
         var sonidoRespuesta:Object=new tempoClaseRespuesta;
         var channel:SoundChannel=sonidoOpcion.play();
         channel.addEventListener(Event.SOUND_COMPLETE, LeerRespuesta);
         function LeerRespuesta($evt:Event):void {
            channel=sonidoRespuesta.play();
         }
         return channel;
      }


y por último tengo reproducir todo el enunciado, y es aquí donde surgen mis problemas:

Código ActionScript :

      public function ReproducirEnunciado():SoundChannel {
         var numRespuesta:int = 0;
         var canal:SoundChannel=ReproducirPregunta();
         canal.addEventListener(Event.SOUND_COMPLETE,ReproducirSiguiente);
         function ReproducirSiguiente():void {
            canal = ReproducirRespuesta (numRespuesta, desorden [numRespuesta]);
            ++numRespuesta;
            if (numRespuesta <= 3) {
               canal.addEventListener (Event.SOUND_COMPLETE,ReproducirSiguiente);
            } else {
               canal.removeEventListener (Event.SOUND_COMPLETE,ReproducirSiguiente);
            };
               
         };
         return canal;
      }


Muchísimas gracias por anticipado.

Por astropajo

24 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jul 2009 10:09 pm
:D Muchísimas gracias, ya no hace falta, por fín he dado con la solución.

Por astropajo

24 de clabLevel



 

firefox

 

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