Очень интересная тема. хочу найти активный микрофон. с помощью:

Код AS3:
var microphoneNumber:int = Microphone.names.length;
var micThumb:MicrophoneThumb;
for (i = 0; i < microphoneNumber; i++){
micThumb = new MicrophoneThumb(i);
this.micThumbs.addChild(micThumb);
}

Код AS3:
public class MicrophoneThumb extends Sprite{
private var mic:Microphone;
public function MicrophoneThumb(i:int):void{
mic = Microphone.getMicrophone(i);
mic.setLoopBack(true);
mic.setUseEchoSuppression(true);
mic.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
}
public function activityHandler(e:Event):void{
trace("activityHandler");
trace(e.target.activityLevel);
}
}
и короче ничего не работает. activityHandler не вызывается не где.
когда вместо цикла просто пишу

Код AS3:
micThumb = new MicrophoneThumb(0);
this.micThumbs.addChild(micThumb);
то activityHandler трейсится.
Активный микрофон именно с номером 0, но когда создается класс и прописываются ивенты для микрофона 1 - то те, что с нулевого не фиксируются. То есть похоже идет наложение ивентов. Или что-то вроде того.
Помогите разобраться, как это дело устранить.
Спасибо