ActionScript - Ayuda Con Flash Urgente :'( !

 
Vista:

Ayuda Con Flash Urgente :'( !

Publicado por Abel  (1 intervención) el 14/07/2010 10:18:09
Hola antes que nada quisiera pedirles si me puede alguien ayudar con este desarollo
es en flash AS 2.0 : tengo ya el codigo de entrada de audio por microfono y me gráfica vertices todo esta bien pero le quiero anexar en un campo de texto con numero el volumen ya sea desde 0 hasta 100 o por porcentaje solo eso ya e intentado pero solo me marca cero les dejo mi codigo haber si alguien me puede ayudar se lo agradecería muchisimo :

var vertices:Number = 120;
var distBordes:Number = 80;
var altoMax:Number = 150;
//
var ancho:Number = 550;
var alto:Number = 400;
//
var distVertices = (ancho-distBordes*2)/vertices;
//
//
this.createEmptyMovieClip("grafico", this.getNextHighestDepth());
this.createEmptyMovieClip("sonido", this.getNextHighestDepth());

//
//
var microfono:Microphone = Microphone.get();
microfono.setSilenceLevel(90);
sonido.attachAudio(microfono);
//
this.onEnterFrame = function() {
volumen = microfono.activityLevel;
//
graficar(volumen);
};
//
//
var graficar:Function = function (vol:Number) {
//
grafico.clear();
//
verde = (vol>50) ? vol-1 : 50;
color = "0x00"+(verde)+"00";
//
grafico.lineStyle(.8, color);
//
grafico.moveTo(0, alto/2);
grafico.lineTo(distBordes, alto/2);
//
for (i=1; i<vertices; i++) {
//
if (Math.round(Number(random(2))) == 1) {
altura = alto/2+(Number(random(vol))/100)*altoMax;
} else {
altura = alto/2-(Number(random(vol))/100)*altoMax;
}
grafico.lineTo(distBordes+(distVertices*i), altura);
}
grafico.lineTo(ancho-distBordes, alto/2);
grafico.lineTo(ancho, alto/2);
};
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

Añadir el valor del volumen en un campo de texto desde un micrófono

Publicado por Alejandro (369 intervenciones) el 27/06/2023 17:26:49
Para añadir el valor del volumen en un campo de texto, puedes seguir estos pasos:

1. Añade un campo de texto dinámico en tu escenario de Flash, y asigna un nombre de instancia a ese campo de texto, por ejemplo, "txtVolumen". Asegúrate de que el campo de texto tiene suficiente espacio para mostrar el valor del volumen.

2. En tu código existente, después de la línea `volumen = microfono.activityLevel;`, agrega el siguiente código para actualizar el campo de texto con el valor del volumen:

1
txtVolumen.text = String(volumen);

Esto convertirá el valor del volumen a una cadena de texto y lo asignará al campo de texto.

El código completo se vería así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
var vertices:Number = 120;
var distBordes:Number = 80;
var altoMax:Number = 150;
//
var ancho:Number = 550;
var alto:Number = 400;
//
var distVertices = (ancho-distBordes*2)/vertices;
//
//
this.createEmptyMovieClip("grafico", this.getNextHighestDepth());
this.createEmptyMovieClip("sonido", this.getNextHighestDepth());
 
//
//
var microfono:Microphone = Microphone.get();
microfono.setSilenceLevel(90);
sonido.attachAudio(microfono);
//
this.onEnterFrame = function() {
    volumen = microfono.activityLevel;
    //
    txtVolumen.text = String(volumen); // Actualizar el campo de texto con el valor del volumen
    //
    graficar(volumen);
};
//
//
var graficar:Function = function (vol:Number) {
    //
    grafico.clear();
    //
    verde = (vol>50) ? vol-1 : 50;
    color = "0x00"+(verde)+"00";
    //
    grafico.lineStyle(.8, color);
    //
    grafico.moveTo(0, alto/2);
    grafico.lineTo(distBordes, alto/2);
    //
    for (i=1; i<vertices; i++) {
        //
        if (Math.round(Number(random(2))) == 1) {
            altura = alto/2+(Number(random(vol))/100)*altoMax;
        } else {
            altura = alto/2-(Number(random(vol))/100)*altoMax;
        }
        grafico.lineTo(distBordes+(distVertices*i), altura);
    }
    grafico.lineTo(ancho-distBordes, alto/2);
    grafico.lineTo(ancho, alto/2);
};

Con este código, el campo de texto "txtVolumen" se actualizará en cada fotograma con el valor del volumen obtenido del micrófono.

Espero que esto resuelva tu problema. ¡Buena suerte con tu proyecto!
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