ActionScript - Ayuda ActionScript 2

 
Vista:

Ayuda ActionScript 2

Publicado por Losetone (1 intervención) el 06/05/2010 18:55:45
Hola a tod@s, necesito una ayudita para una aplicación que estoy haciendo en AS2.0. Estoy empezando y todavía me falta familiarización con muchas funciones y comandos.

Se trata de hacer que, cuando entra cualquier sonido por la entrada de línea de mi MacBook, se ejecute un vídeo (FLV) aleatoriamente de entre una lista de vídeos.

Para ello he creado una primera película con el siguiente código:

this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth());
System.showSettings();
var active_mic:Microphone = Microphone.get();
i = Math.ceil(Math.random()*2);

active_mic.onActivity = function(active:Boolean) {

if (active) {
loadMovie("cargar_pelicula"+i+".swf", image_mc);
image_mc.onLoadComplete = function():Void {
image_mc.unloadMovie();
this.gotoAndStop(1);
}

} else {
this.gotoAndStop(1);
}
}

Como veis, la idea es cargar aleatoriamente otra película de entre un grupo de dos ("cargar_pelicula1.swf" y "cargar_pelicula2.swf"), y que ejecutan los correspondientes vídeos FLV. Me ocurren dos cosas indeseadas:

- No consigo quitar de la visualización el cuadro de opciones de Flash Player (llamado mediante System.showSettings). Me aparece en el centro de la pantalla y delante del vídeo. Lo malo es que si elimino esta línea de código ya no se detecta el micro.

- Después de ejecutar, siempre se carga el mismo archivo. Es decir, la función random sólo funciona la primera vez (cuando se carga la aplicación), y el vídeo que muestra lo muestra siempre en las sucesivas acividades del micro.

¿Qué estoy haciendo mal?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Reproducción aleatoria de vídeos FLV

Publicado por Alejandro (369 intervenciones) el 27/06/2023 17:15:05
Para solucionar los problemas que mencionaste en tu código, te sugiero hacer los siguientes cambios:

1. Eliminar la línea `System.showSettings();`. Esta línea muestra la configuración de Flash Player y no parece necesaria para el funcionamiento de tu aplicación.

2. Mover la generación aleatoria del número `i` dentro de la función `active_mic.onActivity`. Esto asegurará que se genere un nuevo número aleatorio cada vez que se detecte actividad en el micrófono.

Aquí está el código modificado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth());
 
var active_mic:Microphone = Microphone.get();
 
active_mic.onActivity = function(active:Boolean) {
    if (active) {
        var i:Number = Math.ceil(Math.random() * 2); // Generar número aleatorio cada vez
 
        loadMovie("cargar_pelicula" + i + ".swf", image_mc);
        image_mc.onLoadComplete = function():Void {
            image_mc.unloadMovie();
            this.gotoAndStop(1);
        };
    } else {
        this.gotoAndStop(1);
    }
};

Con estos cambios, la generación aleatoria de `i` se hará cada vez que se detecte actividad en el micrófono, lo que permitirá cargar una película diferente de forma aleatoria cada vez. Además, hemos eliminado la línea `System.showSettings();` para evitar la aparición del cuadro de opciones de Flash Player.

Espero que esto resuelva tus problemas. ¡Buena suerte con tu aplicación en AS2.0!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar