Я обнимаю рот с микрофонным входом. Я использую уровень активности микрофона, который поставляет числа от 0 до 10. Каждый номер соответствует кадрам в муви-клипе «рот», поэтому громче сигнал, чем шире открывается рот.Выполнять код только при изменении значения уровня активности микрофона
Уровень активности микрофона постоянно возвращает значение (возможно, работает один раз в каждом кадре). Поэтому, даже когда уровень остается неизменным на некоторое время (особенно при 0, когда нет шума), он продолжает выполнять код для перехода к этому кадру.
Я хочу, чтобы код выполнялся только при изменении числа.
import flash.display.BitmapData;
import flash.display.Shape;
var myMic:Microphone = Microphone.getMicrophone();
//Security.showSettings(SecurityPanel.MICROPHONE);
myMic.setLoopBack(true);
myMic.setUseEchoSuppression(true);
stage.addEventListener(Event.ENTER_FRAME, stage_EnterFrame);
function stage_EnterFrame(e:Event){
var num:Number = myMic.activityLevel * 1;
trace(num);
if (num == 0){
mouth.gotoAndStop(1);
} else if (num == 1){
mouth.gotoAndStop(2);
} else if (num == 2){
mouth.gotoAndStop(3);
} else if (num == 3){
mouth.gotoAndStop(4);
} else if (num == 4){
mouth.gotoAndStop(5);
} else if (num == 5){
mouth.gotoAndStop(6);
} else if (num == 6){
mouth.gotoAndStop(7);
} else if (num == 7){
mouth.gotoAndStop(8);
} else if (num == 8){
mouth.gotoAndStop(9);
} else if (num == 9){
mouth.gotoAndStop(10);
} else if (num == 10){
mouth.gotoAndStop(11);
}
}